Todos los controles de servidor deben aparecer dentro de un <form> etiqueta, y el <form> etiqueta debe contener el runat="server" atributo.
ASP.NET Web Forms
Todos los controles de servidor deben aparecer dentro de un <form> etiqueta, y el <form> etiqueta debe contener el runat="server" atributo. El runat="server" atributo indica que la forma debe ser procesado en el servidor. También indica que los controles cerrados se puede acceder a los scripts del servidor:
<form runat="server">
...HTML + server controls
</form>
Note: El formulario se somete siempre a la página en sí. Si especifica un atributo de acción, se ignora. Si se omite el method atributo, se ajustará a method = "post" por defecto. Además, si no se especifica el nombre y los atributos ID, se les asigna automáticamente por ASP.NET.
Note: Una página .aspx sólo puede contener un <form runat = "server"> control!
Si selecciona Ver código fuente en una página .aspx que contiene un formulario con nombre, método, acción o atributo id especificado, se verá que ASP.NET ha añadido estos atributos a la forma. Se ve algo como esto:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
...some code
</form>
Enviar un formulario
Una forma más a menudo se presentó haciendo clic en un botón. El control de servidor Button en ASP.NET tiene el siguiente formato:
<asp:Button id="id" text="label" OnClick="sub" runat="server" />
La id atributo define un nombre único para el botón y el text atributo asigna una etiqueta para el botón. El gestor de eventos onClick especifica una subrutina llamada a ejecutar.
En el siguiente ejemplo declaramos un control Button en un archivo .aspx. Un clic de botón se ejecuta una subrutina que cambia el texto en el botón: