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 是 Web Forms 頁面上伺服器控制件的容器。 回傳至伺服器的所有伺服器控制項都必須放在控件的 HtmlForm 開頭和結尾標記之間。
注意
ASP.NET 只允許在 Web Forms 頁面上使用單 HtmlForm 一控件。 如果 Web Forms 頁面上有多個作用 HtmlForm 中控件,Common Language Runtime 會在您要求頁面時擲回 System.Web.HttpException 例外狀況。 不過,您可以使用控件,其中每個View物件都包含一個MultiViewHtmlForm控件,因為在任何指定時間只有一個View作用中。
您可以藉由設定控制控制元件的行為 HtmlForm 。 若要指定表單資料的編碼類型,請設定 Enctype 屬性。 瀏覽器用來將表單資料張貼至伺服器進行處理的方法 (GET
或 POST
) 是藉由設定 Method 屬性來指定。
警告
預設的情況下,Method 屬性設定為 POST
。 您可以將此屬性的值修改為 GET
,但這可能會中斷 ASP.NET 頁面架構所提供的內建狀態和回傳服務。
您可以設定實作 介面的 IButtonControl 控件,以張貼到不同的目標頁面。 這稱為跨頁面張貼。 如需詳細資訊,請參閱 ASP.NET Web Forms 中的跨頁面張貼。
如需 實例 HtmlForm的初始屬性值清單,請參閱 建 HtmlForm 構函式。
建構函式
HtmlForm() |
初始化 HtmlForm 類別的新執行個體。 |
屬性
Action |
取得或設定 HTML 表單的 action 屬性。 |
Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
Attributes |
取得 ASP.NET 網頁內伺服器控制項標記上所表示,所有成對屬性名稱和值的集合。 (繼承來源 HtmlControl) |
BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
ClientID |
取得控制項 ASP.NET 所產生的 HtmlForm 控件識別碼。 |
ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
Context |
取得與目前 Web 要求的伺服器控制項關聯的 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 |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 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 |
取得在 ASP.NET 檔案中套用到指定 HTML 伺服器控制項的所有階層式樣式表 (CSS) 屬性集合。 (繼承來源 HtmlControl) |
SubmitDisabledControls |
取得或設定布林值 (Boolean),指出是否要強制用戶端上已停用的控制項送出其值,讓控制項在網頁回傳至伺服器時保留其值。 |
TagName |
取得標記項目名稱,其包含 |
Target |
取得或設定框架 (Frame) 或視窗,在其中呈現張貼至伺服器的資訊結果。 |
TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
UniqueID |
取得指派給 HtmlForm 控制項的唯一程式設計識別項。 |
ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,指出 HtmlControl 檢視狀態是否區分大小寫。 (繼承來源 HtmlControl) |
ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
Visible |
取得或設定值,指出伺服器控制項是否會轉譯為頁面上的 UI。 (繼承來源 Control) |
方法
事件
DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
明確介面實作
擴充方法
FindDataSourceControl(Control) |
傳回與指定之控制項的資料控制項相關聯的資料來源。 |
FindFieldTemplate(Control, String) |
傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。 |
FindMetaTable(Control) |
傳回包含資料控制項的中繼資料表物件。 |