HtmlForm 伺服器控制項宣告式語法
建立伺服器端控制項,其對應到 <form> HTML 項目,並且允許您為 Web 網頁中的項目建立容器。
<form
DefaultButton="string"
DefaultFocus="string"
EnableViewState="False|True"
Id="string"
SubmitDisabledControls="False|True"
Visible="True|False"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed event handler"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnUnload="OnUnload event handler"
runat="server"
>
<!--Other controls, input forms, and so on.-->
</form>
備註
使用 HtmlForm 控制項,對 HTML <form> 項目進行設計程式。 若要利用回傳服務,所有的 Web Form 控制項,不論是 HTML 控制項、Web 控制項、使用者控制項或自訂控制項,都必須在 HtmlForm 控制項之語式正確的開頭和結尾標記之間形成巢狀結構。 如果沒有適當地結束標記,ASP.NET 將無法辨認項目。 項目會被忽略或將發生編譯錯誤,這取決於項目是如何形成。
注意事項 |
---|
在單一 Web Form 網頁上無法包含一個以上的 HtmlForm 控制項。 |
根據預設,HtmlForm 控制項的 method 屬性是設定為 POST。 您可以自訂 method 屬性以符合需求,但是將 method 屬性設定為 GET 或 POST 以外的值,可能會中斷 ASP.NET 所提供的內建檢視狀態和回傳服務。
注意事項 |
---|
action 屬性永遠設為網頁本身的 URL。而 action 屬性不能變更,因此,您只能回傳至網頁本身。 |
注意事項 |
---|
form 項目的 name 屬性已在 XHTML 1.1 中被取代。因此在 ASP.NET 4 中,這個控制項不會呈現 name 屬性。 |
範例
下列範例以每個按鈕的個別 OnServerClick 處理常式顯示三個 HtmlButton 控制項。 每一個事件會引發伺服器的回傳 (對於會發生回傳的案例,HtmlForm 控制項是必要的)。 這個範例也示範在 Web Form 網頁上只能有一個 HtmlForm 控制項,包含支援多個事件的表單。 如果包含一個以上的 HtmlForm 控制項,.NET Framework 將會擲回例外狀況。
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Control</title>
<script runat="server">
Sub Button1_OnClick(Source As Object, e As EventArgs)
Span1.InnerHtml = "You clicked Button1"
End Sub
Sub Button2_OnClick(Source As Object, e As EventArgs)
Span2.InnerHtml = "You clicked Button2"
End Sub
Sub Button3_OnClick(Source As Object, e As EventArgs)
Span3.InnerHtml = "You clicked Button3"
End Sub
</script>
</head>
<body>
<h3>HtmlForm Sample</h3>
<form id="ServerForm" runat="server">
<button id="Button1" runat="server"
onserverclick="Button1_OnClick">
Button1
</button>
<span id="Span1" runat="server" />
<p />
<button id="Button2" runat="server"
onserverclick="Button2_OnClick">
Button2
</button>
<span id="Span2" runat="server" />
<p />
<button id="Button3" runat="server"
onserverclick="Button3_OnClick">
Button3
</button>
<span id="Span3" runat="server" />
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Control</title>
<script runat="server">
void Button1_OnClick(object Source, EventArgs e)
{
Span1.InnerHtml="You clicked Button1";
}
void Button2_OnClick(object Source, EventArgs e)
{
Span2.InnerHtml="You clicked Button2";
}
void Button3_OnClick(object Source, EventArgs e)
{
Span3.InnerHtml="You clicked Button3";
}
</script>
</head>
<body>
<h3>HtmlForm Sample</h3>
<form id="ServerForm" runat="server">
<button id="Button1" runat="server"
onserverclick="Button1_OnClick">
Button1
</button>
<span id="Span1" runat="server" />
<p />
<button id="Button2" runat="server"
onserverclick="Button2_OnClick">
Button2
</button>
<span id="Span2" runat="server" />
<p />
<button id="Button3" runat="server"
onserverclick="Button3_OnClick">
Button3
</button>
<span id="Span3" runat="server" />
</form>
</body>
</html>