所有服務器控件必須出現在 <form> 標簽內,同時 <form> 標簽必須包含 runat="server" 屬性。runat="server" 屬性指示該表單必須在服務器進行處理。它還指示裝入其中的控件能否被服務器腳本訪問:
<form runat="server">...HTML + server controls</form>
注釋:該表單總是向自身頁面進行提交。如果您規定了一個 action 屬性,它會被忽略。如果您省略了 method 屬性,它將被默認地設置為 method="post"。同時,如果您沒有規定 name 和 id 屬性,它們則由 ASP.NET 自動分配。
注釋:一個 .aspx 僅能包含一個 <form runat="server"> 控件!
如果您查看一個 .aspx 頁面的源代碼,而其中包含的表單不帶有 name, method, action 或 id 屬性,那麼您將看到 ASP.NET 已經把這些屬性添加到該表單。類似這樣:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">...some code</form>
提交表單
表單通常通過點擊一個按鈕來提交。ASP.NET 中的 Button 服務器控件的格式是這樣的:
<asp:Button id="id" text="label" OnClick="sub" runat="server" />
id 屬性為按鈕定義了一個唯一的名稱,而 text 屬性則為按鈕分配了一個 label。onClick 事件句柄規定了一個要執行的子例程。
在下面的例子中,我們在一個 .aspx 文件中聲明了一個按鈕控件。一次鼠標單擊就可以運行一個子例程,可以更改該按鈕上的文本。