HtmlForm 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供伺服器上 HTML <form> 元素的程式存取。
public ref class HtmlForm : System::Web::UI::HtmlControls::HtmlContainerControl
public class HtmlForm : System.Web.UI.HtmlControls.HtmlContainerControl
type HtmlForm = class
inherit HtmlContainerControl
Public Class HtmlForm
Inherits HtmlContainerControl
- 繼承
範例
以下程式碼範例示範如何利用該 HtmlForm 類別建立簡單的表單。
<%@ 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">
<script runat="server">
protected void AddButton_Click(Object sender, EventArgs e)
{
int Answer;
// Calculate and display the result.
Answer = Convert.ToInt32(Value1.Value) + Convert.ToInt32(Value2.Value);
AnswerMessage.InnerHtml = Answer.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Example</title>
</head>
<body>
<form method="Post"
enctype="application/x-www-form-urlencoded"
runat="server" id="myform">
<h3> HtmlForm Example </h3>
<table>
<tr>
<td colspan="5">
Enter integer values into the text boxes. <br />
Click the Add button to add the two values. <br />
Click the Reset button to reset the text boxes.
</td>
</tr>
<tr>
<td colspan="5">
</td>
</tr>
<tr align="center">
<td>
<input id="Value1"
type="Text"
size="2"
maxlength="3"
value="1"
runat="server"/>
</td>
<td>
+
</td>
<td>
<input id="Value2"
type="Text"
size="2"
maxlength="3"
value="1"
runat="server"/>
</td>
<td>
=
</td>
<td>
<span id="AnswerMessage"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:RequiredFieldValidator
ID="Value1RequiredValidator"
ControlToValidate="Value1"
ErrorMessage="Please enter a value.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value1MinCompareValidator"
ControlToValidate="Value1"
Operator="LessThan"
Type="Integer"
ValueToCompare="100"
ErrorMessage="Please enter an integer less than 100.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value1MaxCompareValidator"
ControlToValidate="Value1"
Operator="GreaterThan"
Type="Integer"
ValueToCompare="0"
ErrorMessage="Please enter an integer greater than 0.<br />"
Display="Dynamic"
runat="server"/>
</td>
<td colspan="2">
<asp:RequiredFieldValidator
ID="Value2RequiredValidator"
ControlToValidate="Value2"
ErrorMessage="Please enter a value.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value2MinCompareValidator"
ControlToValidate="Value2"
Operator="LessThan"
Type="Integer"
ValueToCompare="100"
ErrorMessage="Please enter an integer less than 100.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value2MaxCompareValidator"
ControlToValidate="Value2"
Operator="GreaterThan"
Type="Integer"
ValueToCompare="0"
ErrorMessage="Please enter an integer greater than 0.<br />"
Display="Dynamic"
runat="server"/>
</td>
<td>
</td>
</tr>
<tr align="center">
<td colspan="4">
<input type="Submit"
name="AddButton"
value="Add"
onserverclick="AddButton_Click"
runat="server"/>
<input type="Reset"
name="AddButton"
value="Reset"
runat="server"/>
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>
<%@ 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">
<script runat="server">
Protected Sub AddButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Answer As Integer
' Calculate and display the result.
Answer = Convert.ToInt32(Value1.Value) + Convert.ToInt32(Value2.Value)
AnswerMessage.InnerHtml = Answer.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Example</title>
</head>
<body>
<form method="Post"
enctype="application/x-www-form-urlencoded"
runat="server" id="myform">
<h3> HtmlForm Example </h3>
<table>
<tr>
<td colspan="5">
Enter integer values into the text boxes. <br />
Click the Add button to add the two values. <br />
Click the Reset button to reset the text boxes.
</td>
</tr>
<tr>
<td colspan="5">
</td>
</tr>
<tr align="center">
<td>
<input id="Value1"
type="Text"
size="2"
maxlength="3"
value="1"
runat="server"/>
</td>
<td>
+
</td>
<td>
<input id="Value2"
type="Text"
size="2"
maxlength="3"
value="1"
runat="server"/>
</td>
<td>
=
</td>
<td>
<span id="AnswerMessage"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:RequiredFieldValidator
ID="Value1RequiredValidator"
ControlToValidate="Value1"
ErrorMessage="Please enter a value.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value1MinCompareValidator"
ControlToValidate="Value1"
Operator="LessThan"
Type="Integer"
ValueToCompare="100"
ErrorMessage="Please enter an integer less than 100.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value1MaxCompareValidator"
ControlToValidate="Value1"
Operator="GreaterThan"
Type="Integer"
ValueToCompare="0"
ErrorMessage="Please enter an integer greater than 0.<br />"
Display="Dynamic"
runat="server"/>
</td>
<td colspan="2">
<asp:RequiredFieldValidator
ID="Value2RequiredValidator"
ControlToValidate="Value2"
ErrorMessage="Please enter a value.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value2MinCompareValidator"
ControlToValidate="Value2"
Operator="LessThan"
Type="Integer"
ValueToCompare="100"
ErrorMessage="Please enter an integer less than 100.<br />"
Display="Dynamic"
runat="server"/>
<asp:CompareValidator
ID="Value2MaxCompareValidator"
ControlToValidate="Value2"
Operator="GreaterThan"
Type="Integer"
ValueToCompare="0"
ErrorMessage="Please enter an integer greater than 0.<br />"
Display="Dynamic"
runat="server"/>
</td>
<td>
</td>
</tr>
<tr align="center">
<td colspan="4">
<input type="Submit"
name="AddButton"
value="Add"
onserverclick="AddButton_Click"
runat="server"/>
<input type="Reset"
name="AddButton"
value="Reset"
runat="server"/>
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>
備註
控制 HtmlForm 項是用於網頁表單頁面上伺服器控制的容器。 所有回傳給伺服器的伺服器控制項必須置於控制項的開啟與關閉標籤 HtmlForm 之間。
Note
ASP.NET 只允許在網頁表單頁面上啟用單一的 HtmlForm 控制項。 如果一個網頁表單頁面上有多個主動 HtmlForm 控制項,當你請求該頁面時,通用語言執行時會拋出 System.Web.HttpException 例外。 不過,你可以使用 MultiView 一個控制項,讓每個 View 物件包含一個 HtmlForm 控制項,因為同一時間只有一個 View 控制項在啟動。
你可以透過設定控制項的屬性來控制其行為 HtmlForm 。 要指定表單資料的編碼類型,請設定屬性 Enctype 。
GET
POST瀏覽器用來將表單資料上傳到伺服器以供處理的方法(或)是透過設定Method屬性來指定。
注意事項
預設情況下,屬性 Method 設定為 POST。 你可以將此屬性的值改為 GET,但這可能會破壞 ASP.NET 頁面框架內建的狀態與後置服務。
你可以設定控制項,實作 IButtonControl 介面,讓它發佈到不同的目標頁面。 這稱為跨頁發佈。 更多資訊請參閱 ASP.NET Web Forms的
如需 實例 HtmlForm的初始屬性值清單,請參閱 建構函式 HtmlForm 。
建構函式
| 名稱 | Description |
|---|---|
| HtmlForm() |
初始化 HtmlForm 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| Action |
取得或設定 HTML 表單的動作屬性。 |
| Adapter |
拿到瀏覽器專用的控制器轉接器。 (繼承來源 Control) |
| AppRelativeTemplateSourceDirectory |
取得或設定包含此控制項的 or Page 物件的UserControl應用程式相對虛擬目錄。 (繼承來源 Control) |
| Attributes |
取得 ASP.NET 頁面中伺服器控制標籤中所有屬性名稱與值對的集合。 (繼承來源 HtmlControl) |
| BindingContainer |
取得包含該控制項資料綁定的控制項。 (繼承來源 Control) |
| ChildControlsCreated |
會取得一個值,表示伺服器控制項的子控制項是否已被建立。 (繼承來源 Control) |
| ClientID |
取得由 ASP.NET 產生的 HtmlForm 控制識別碼。 |
| ClientID |
取得由 ASP.NET 產生的 HTML 標記的控制 ID。 (繼承來源 Control) |
| ClientIDMode |
取得或設定用於產生屬性值 ClientID 的演算法。 (繼承來源 Control) |
| ClientIDSeparator |
會得到一個字元值,代表該屬性中使用 ClientID 的分隔符字元。 (繼承來源 Control) |
| Context |
取得 HttpContext 與伺服器控制項相關聯的物件,用於目前的網頁請求。 (繼承來源 Control) |
| Controls |
取得 ControlCollection 一個物件,代表 UI 階層中指定伺服器控制項的子控制項。 (繼承來源 Control) |
| DataItemContainer |
如果命名容器實 IDataItemContainer作 。 (繼承來源 Control) |
| DataKeysContainer |
如果命名容器實 IDataKeysControl作 。 (繼承來源 Control) |
| DefaultButton |
取得或設定該控制項的子控制 HtmlForm ,當按下 Enter 鍵時會觸發後回送。 |
| DefaultFocus |
在載入控制時,會取得或設定表單上的控制項顯示為帶有輸入焦點 HtmlForm 的控制。 |
| DesignMode |
會獲得一個值,表示是否在設計表面上使用控制項。 (繼承來源 Control) |
| Disabled |
取得或設定一個值,指示 HTML 伺服器控制項是否被停用。 (繼承來源 HtmlControl) |
| EnableTheming |
取得或設定一個值,指示主題是否適用於此控制。 (繼承來源 Control) |
| EnableViewState |
取得或設定一個值,指示伺服器控制項是否能持久化其視圖狀態,以及其包含的任何子控制項的視圖狀態,給請求端客戶端。 (繼承來源 Control) |
| Enctype |
取得或設定瀏覽器在將表單資料發布到伺服器時所使用的編碼類型。 |
| Events |
會取得一個事件處理代理清單來管理控制。 這個屬性是唯讀的。 (繼承來源 Control) |
| HasChildViewState |
會取得一個值,表示目前伺服器控制項的子控制項是否儲存了任何檢視狀態設定。 (繼承來源 Control) |
| ID |
取得或設定分配給伺服器控制的程式識別碼。 (繼承來源 Control) |
| IdSeparator |
取得用來分離控制識別碼的字元。 (繼承來源 Control) |
| InnerHtml |
取得或設定指定 HTML 伺服器控制項中開頭與關閉標籤之間的內容。 (繼承來源 HtmlContainerControl) |
| InnerText |
取得或設定指定 HTML 伺服器控制項中開頭與結束標籤之間的文字。 (繼承來源 HtmlContainerControl) |
| IsChildControlStateCleared |
會取得一個值,表示該控制中所包含的控制是否具有控制狀態。 (繼承來源 Control) |
| IsTrackingViewState |
會得到一個值,表示伺服器控制是否正在儲存對其檢視狀態的變更。 (繼承來源 Control) |
| IsViewStateEnabled |
會取得一個值,表示此控制是否啟用了檢視狀態。 (繼承來源 Control) |
| LoadViewStateByID |
會得到一個值,表示控制項是否參與載入其視圖狀態 ID ,而非索引。 (繼承來源 Control) |
| Method |
取得或設定一個值,指示瀏覽器如何將表單資料上傳給伺服器以供處理。 |
| Name |
取得控制的識別碼名稱 HtmlForm 。 |
| NamingContainer |
會取得伺服器控制項命名容器的參考,該容器會建立一個獨特的命名空間,用來區分具有相同 ID 屬性值的伺服器控制項。 (繼承來源 Control) |
| Page |
會取得包含 Page 伺服器控制的實例參考。 (繼承來源 Control) |
| Parent |
在頁面控制階層中,會取得伺服器控制項的父控制權的參考。 (繼承來源 Control) |
| RenderingCompatibility |
會得到一個值,指定渲染後的 HTML 會相容的 ASP.NET 版本。 (繼承來源 Control) |
| Site |
當在設計表面渲染時,會取得承載當前控制項的容器資訊。 (繼承來源 Control) |
| SkinID |
取得或設定皮膚貼合控制劑。 (繼承來源 Control) |
| Style |
會取得一套套用所有層疊樣式表(CSS)屬性的集合,套用到 ASP.NET 檔案中指定的 HTML 伺服器控制項。 (繼承來源 HtmlControl) |
| SubmitDisabledControls |
取得或設定一個布林值,指示是否強制客戶端關閉的控制項提交其值,讓頁面貼回伺服器後能保留這些值。 |
| TagName |
取得包含 |
| Target |
取得或設定輸出上傳到伺服器資訊結果的框架或視窗。 |
| TemplateControl |
取得或設定包含此控制項的範本參考。 (繼承來源 Control) |
| TemplateSourceDirectory |
取得包含當前伺服器控制權的 or Page 虛擬目錄UserControl。 (繼承來源 Control) |
| UniqueID |
會獲得指派給 HtmlForm 控制項的唯一程式識別碼。 |
| ValidateRequestMode |
取得或設定一個值,指示控制器是否檢查瀏覽器的客戶端輸入是否有潛在危險的值。 (繼承來源 Control) |
| ViewState |
取得狀態資訊字典,讓你能儲存並還原伺服器控制的多個請求,針對同一頁面。 (繼承來源 Control) |
| ViewStateIgnoresCase |
會得到一個表示視圖狀態是否 HtmlControl 區分大小寫的值。 (繼承來源 HtmlControl) |
| ViewStateMode |
取得或設定此控制的視圖狀態模式。 (繼承來源 Control) |
| Visible |
取得或設定一個值,指示伺服器控制項是否以 UI 形式呈現在頁面上。 (繼承來源 Control) |
方法
事件
| 名稱 | Description |
|---|---|
| DataBinding |
當伺服器控制項綁定到資料來源時會發生。 (繼承來源 Control) |
| Disposed |
當伺服器控制從記憶體中釋放時發生,這是伺服器控制生命週期中請求 ASP.NET 頁面的最後階段。 (繼承來源 Control) |
| Init |
發生在伺服器控制初始化時,這是其生命週期的第一步。 (繼承來源 Control) |
| Load |
當伺服器控制項載入 Page 物件時會發生。 (繼承來源 Control) |
| PreRender |
發生在物件載入後 Control 但渲染之前。 (繼承來源 Control) |
| Unload |
當伺服器控制項從記憶體卸載時發生。 (繼承來源 Control) |
明確介面實作
擴充方法
| 名稱 | Description |
|---|---|
| FindDataSourceControl(Control) |
回傳與指定控制項相關聯的資料來源。 |
| FindFieldTemplate(Control, String) |
回傳指定控制項命名容器中指定欄位的欄位範本。 |
| FindMetaTable(Control) |
回傳包含資料控制項的元值物件。 |