Web Forms


All server controls must appear within a <form> tag, and the <form> tag must contain the runat="server" attribute. The runat="server" attribute indicates that the form should be processed on the server.

It also indicates that the enclosed controls can be accessed by server scripts. The form is always submitted to the page itself.
 <form runat="server">

   ...HTML + server controls

 </form>

If you specify an action attribute, it is ignored. If you omit the method attribute, it will be set to method="post" by default. An .aspx page can only contain ONE <form runat="server"> control! Also, if you select view source in an .aspx page containing a form with no name, method, action, or id attribute specified, you will see that ASP.NET has added these attributes to the form:

 <form name="_ctl0" method="post" action="page.aspx" id="_ctl0">

    ...some code

 </form>