<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sentient thoughts about .NET : ASP.NET</title><link>http://msmvps.com/blogs/jonathangreensted/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>ASP.NET Threading Nasties</title><link>http://msmvps.com/blogs/jonathangreensted/archive/2005/02/24/36868.aspx</link><pubDate>Thu, 24 Feb 2005 16:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:36868</guid><dc:creator>jonathangreensted</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/jonathangreensted/rsscomments.aspx?PostID=36868</wfw:commentRss><comments>http://msmvps.com/blogs/jonathangreensted/archive/2005/02/24/36868.aspx#comments</comments><description>&lt;P&gt;In our &lt;A href="http://www.sentient.co.uk/publicspeaking.aspx"&gt;System.Threading talk&lt;/A&gt; we cover the impact of threading in an ASP.NET application and specifically how damaging to your applications scaleability it can be to call external systems with unpredictable performance characteristics.&amp;nbsp;(eg. SQL-Server, WebServices, COM component, java, etc).&lt;/P&gt;
&lt;P&gt;The problem here is you will be "hogging" your ASP.NET thread for the duration of the transaction.&amp;nbsp; You may not feel this is a problem because you clearly can't return the page until this external transaction has completed so you may as well wait.&amp;nbsp; You might even turn this into an async call so you can do something else in parallel however you still end up ultimately waiting for the remote system to complete before you can complete your page construction and return the page to the caller.&lt;/P&gt;
&lt;P&gt;So why is this so bad?&lt;/P&gt;
&lt;P&gt;Well the problem is you have a finite number of threads available in the Thread Pool to process page requests so if you are "hogging" them in your pages while you wait for an external system to respond you will be blocking other page requests.&lt;/P&gt;
&lt;P&gt;To demonstrate this I knocked up two aspx pages; one which did nothing and another which spun up a new thread which waited for 30 seconds before completing.&lt;/P&gt;
&lt;P&gt;When I ran my nothing page alone using ACT over 5 mins I got the following results:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Response Code: 200 - The request completed successfully. Count: 141,575 Percent (%): 100.00&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;When I ran&amp;nbsp;my nothing&amp;nbsp;page and my badly threaded page at the same time using ACT over 5 mins I got the following results (I started my thread page first which allowed it to grab all the available threads!):&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Response Code: 503 - The service is temporarily overloaded. Count: 45,169 Percent (%): 99.92&lt;BR&gt;Response Code: 500 - The server encountered an unexpected condition that prevented it from fulfilling the request. Count: 36 Percent (%): 0.08&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;So as you can see from the results above my badly threaded page completely blocked all activity on the web server for 5 whole minutes!&amp;nbsp; &lt;/P&gt;
&lt;P&gt;It is also worth noting that the processor utilisation during this period was almost zero so the web server was genuinely busy doing nothing!&lt;/P&gt;
&lt;P&gt;I have included the source code for my badly threaded page below.&amp;nbsp; In my example I use "raw" threads however remember the same applies to async calls to SQL Server, Web Services, etc.&amp;nbsp; I think this is particularly important when using 3rd party Web Services because your partners behaviour will have&amp;nbsp;a direct impact on yours.&amp;nbsp; You need to protect yourself from a scenario where your partner's response times drops through the floor or they become unavailable.&amp;nbsp; Remember this effect can be chained so they might be busy waiting on someone else!&lt;/P&gt;
&lt;P&gt;So finally what is the solution?&amp;nbsp; Well Fritz Onion has written a couple of really good articles on this both for ASP.NET 1.1 and ASP.NET 2.0 so there is no point in my repeating his excellent advice. &lt;/P&gt;
&lt;P&gt;These articles can be found at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/03/06/Threading/default.aspx" target=_blank&gt;Use Threads and Build Asynchronous Handlers in Your Server-Side Web Code&lt;/A&gt;&amp;nbsp;(ASP.NET 1.1)&lt;BR&gt;&lt;A href="http://pluralsight.com/blogs/fritz/archive/2004/10/19/2892.aspx" target=_blank&gt;Async Pages in ASP.NET 2.0 - some results&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The moral of this story; &amp;nbsp;&lt;STRONG&gt;Be careful what code you write - I might just kill your web server!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The source code for my busy page is below.&lt;!--StartFragment--&gt;&lt;/P&gt;
&lt;DIV style="FONT-SIZE: 8pt; BACKGROUND: #ffffff; COLOR: #000000; FONT-FAMILY: Courier New"&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; WebForm1 : System.Web.UI.Page&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;{&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; Thread _t;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; DateTime _start;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; System.Web.UI.WebControls.Label Label1;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Page_Load(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, System.EventArgs e)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; _start = DateTime.Now;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; _t = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; Thread(&lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; ThreadStart(MyThread));&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; _t.Start();&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; MyThread()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; setting = ConfigurationSettings.AppSettings["ThreadWait"];&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt; wait = &lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;.Parse(setting);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; Thread.Sleep(wait);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; OnPreRender(EventArgs e)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;base&lt;/SPAN&gt;.OnPreRender (e);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; _t.Join();&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; Label1.Text = "Started - " + _start.ToLongTimeString()+"&lt;BR&gt;";&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; Label1.Text += "Finished - " + DateTime.Now.ToLongTimeString();&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp; #region&lt;/SPAN&gt; Web Form Designer generated code&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; OnInit(EventArgs e)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;// CODEGEN: This call is required by the ASP.NET Web Form Designer.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; InitializeComponent();&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;base&lt;/SPAN&gt;.OnInit(e);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #808080"&gt;&lt;SUMMARY&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; Required method for Designer support - do not modify&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; the contents of this method with the code editor.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #808080"&gt;&lt;/SUMMARY&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; InitializeComponent()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; {&amp;nbsp; &amp;nbsp; &lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.Load += &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; System.EventHandler(&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.Page_Load);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp; #endregion&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;}&amp;nbsp; &lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=36868" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/jonathangreensted/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>ASP.net Button submission control</title><link>http://msmvps.com/blogs/jonathangreensted/archive/2004/11/24/20495.aspx</link><pubDate>Wed, 24 Nov 2004 15:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:20495</guid><dc:creator>jonathangreensted</dc:creator><slash:comments>36</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/jonathangreensted/rsscomments.aspx?PostID=20495</wfw:commentRss><comments>http://msmvps.com/blogs/jonathangreensted/archive/2004/11/24/20495.aspx#comments</comments><description>		&lt;P&gt;I am often asked how to intercept the postback when an &amp;lt;asp:Button/&amp;gt; is 
			clicked.&amp;nbsp; The answer is not immediately obvious but once you know the 
			trick it is very straight forward.&lt;/P&gt;
		&lt;P&gt;What makes this tricky is that an &amp;lt;asp:Button/&amp;gt; renders as &amp;lt;input 
			type="submit" ... /&amp;gt; which means that the page will submit automatically 
			when the button is clicked.
		&lt;/P&gt;
		&lt;P&gt;This appears to not give you an opportunity to intercept the click however 
			the first little bit of magic you need to know is that if the button has an 
			"onclick" event that will fire before the page is submitted and the 
			second little bit of magic to know is that the boolean return value from your 
			"onclick" event determines if the page submission continues (return 
			true) or not (return false).&lt;/P&gt;
		&lt;P&gt;So, this sample code will ask you to confirm the postback and provide you and 
			option to cancel the submittion:&lt;/P&gt;
		&lt;P&gt;&lt;STRONG&gt;WebForm1.aspx&lt;/STRONG&gt;&lt;/P&gt;
		&lt;DIV style="FONT-SIZE: 10pt; BACKGROUND: #ffffff; COLOR: #000000; FONT-FAMILY: Courier New"&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="BACKGROUND: #ffff00"&gt;&amp;lt;%@ Page language="c#" 
					Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" 
					Inherits="ButtonClick.WebForm1" %&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;DOCTYPE&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;HTML&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt; &lt;/SPAN&gt;
				&lt;SPAN style="COLOR: #ff0000"&gt;PUBLIC&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;
					"-//W3C//DTD HTML 4.0 Transitional//EN"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt; &lt;/SPAN&gt;
				&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;HTML&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;HEAD&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;WebForm1&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;meta&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="GENERATOR"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Microsoft 
					Visual Studio .NET 7.1"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;meta&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="CODE_LANGUAGE"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="C#"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;meta&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="vs_defaultClientScript"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="JavaScript"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;meta&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="vs_targetSchema"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/intellisense/ie5"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;HEAD&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Form1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;method&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="post"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="server"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;Click 
				the button to trigger the confirmButton() javascript function.&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="ButtonSubmit"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Submit"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:Label&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="LabelStatus"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff00ff"&gt;
				&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="server"&amp;gt;&lt;/SPAN&gt;Status:
				&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:Label&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;P&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;HTML&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
		&lt;/DIV&gt;
		&lt;P&gt;&lt;STRONG&gt;WebForm1.aspx.cs&lt;!--EndFragment--&gt; &lt;!--StartFragment--&gt;&lt;/STRONG&gt;&lt;/P&gt;
		&lt;DIV style="FONT-SIZE: 10pt; BACKGROUND: #ffffff; COLOR: #000000; FONT-FAMILY: Courier New"&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Collections;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.ComponentModel;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Data;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Drawing;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Web;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Web.SessionState;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Web.UI;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Web.UI.HtmlControls;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; ButtonClick&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;{&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt;
				&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; WebForm1 : System.Web.UI.Page&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					protected&lt;/SPAN&gt; System.Web.UI.WebControls.Button ButtonSubmit;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					protected&lt;/SPAN&gt; System.Web.UI.WebControls.Label LabelStatus;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Page_Load(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt;
				sender, System.EventArgs e)&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					string&lt;/SPAN&gt; jsConfirm = @"&amp;lt;script language='javascript'&amp;gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				function confirmButton()
			&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {
			&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;nbsp;&amp;nbsp;&amp;nbsp; var agree=confirm('Are you sure you wish to continue?');&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;nbsp;&amp;nbsp;&amp;nbsp; if (agree)&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;/script&amp;gt;";&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				Page.RegisterClientScriptBlock("confirm",jsConfirm);&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				ButtonSubmit.Attributes.Add("onclick","return confirmButton();");&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
					&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/SPAN&gt; Web Form Designer generated code&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;
					void&lt;/SPAN&gt; OnInit(EventArgs e)&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;
					//&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;
					// CODEGEN: This call is required by the ASP.NET Web Form Designer.&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008000"&gt;
					//&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				InitializeComponent();&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					base&lt;/SPAN&gt;.OnInit(e);&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;
					///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;
					///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; Required method for Designer support - 
					do not modify&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;
					///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; the contents of this method with the 
					code editor.&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #808080"&gt;
					///&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; InitializeComponent()&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;
			&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					this&lt;/SPAN&gt;.ButtonSubmit.Click += &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; System.EventHandler(&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.ButtonSubmit_Click);&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					this&lt;/SPAN&gt;.Load += &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; System.EventHandler(&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.Page_Load);&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
					&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/SPAN&gt;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;
					private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; ButtonSubmit_Click(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt;
				sender, System.EventArgs e)&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
				LabelStatus.Text = "Status: ASP Button (Server click)";&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
			&lt;P style="MARGIN: 0px"&gt;}&lt;!--EndFragment--&gt;&lt;/P&gt;
		&lt;/DIV&gt;
		&lt;P&gt;Easy when you know how!&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=20495" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/jonathangreensted/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item></channel></rss>