Todos os controles de servidor deve aparecer dentro de um <form> tag, eo <form> tag deve conter o runat="server" atributo.
ASP.NET Web Forms
Todos os controles de servidor deve aparecer dentro de um <form> tag, eo <form> tag deve conter o runat="server" atributo. O runat="server" atributo indica que o formulário deve ser processado no servidor. Ele também indica que os controles fechados podem ser acessados por scripts de servidor:
<form runat="server">
...HTML + server controls
</form>
Note: O formulário é sempre submetido à própria página. Se você especificar um atributo action, ele será ignorado. Se você omitir o method atributo, ele será definido para method = "post" por padrão. Além disso, se você não especificar o nome e os atributos ID, eles são automaticamente atribuídos pelo ASP.NET.
Note: Uma página .aspx só pode conter um <form runat = "server"> controle!
Se você selecionar a fonte de exibição em uma página .aspx que contém um formulário com nenhum nome, método, ação ou atributo id especificado, você vai ver que ASP.NET adicionou esses atributos para o formulário. Parece algo como isto:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
...some code
</form>
Envio de um formulário
Uma forma é mais frequentemente submetido clicando em um botão. O controle de servidor Button em ASP.NET tem o seguinte formato:
<asp:Button id="id" text="label" OnClick="sub" runat="server" />
O id atributo define um nome único para o botão eo text atributo atribui um rótulo para o botão. O manipulador de eventos onClick especifica uma sub-rotina chamada para executar.
No exemplo a seguir declaramos um controle de botão em um arquivo .aspx. Um clique de botão executa uma sub-rotina que altera o texto no botão: