FormParameter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 HTTP 要求 Form 欄位的值繫結至參數物件。
public ref class FormParameter : System::Web::UI::WebControls::Parameter
public class FormParameter : System.Web.UI.WebControls.Parameter
type FormParameter = class
inherit Parameter
Public Class FormParameter
Inherits Parameter
- 繼承
範例
下列程式代碼範例示範如何使用 控件和簡單的 ASP.NET 網頁將數據插入資料庫 SqlDataSource 。 數據表中的目前數據會顯示在控件中 DropDownList 。 您可以在控件中輸入值,然後按下按鈕, TextBox 以新增記錄。 按下按鈕時,指定的值會插入資料庫中,並 DropDownList 重新整理 。
重要
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void InsertShipper (object source, EventArgs e) {
SqlDataSource1.Insert();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:dropdownlist
id="DropDownList1"
runat="server"
datasourceid="SqlDataSource1"
datatextfield="CompanyName"
datavaluefield="ShipperID" />
<!-- Security Note: The SqlDataSource uses a FormParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the FormParameter, handle the Inserting event. -->
<asp:sqldatasource
id="SqlDataSource1"
runat="server"
connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
<insertparameters>
<asp:formparameter name="CoName" formfield="CompanyNameBox" />
<asp:formparameter name="Phone" formfield="PhoneBox" />
</insertparameters>
</asp:sqldatasource>
<br /><asp:textbox
id="CompanyNameBox"
runat="server" />
<asp:RequiredFieldValidator
id="RequiredFieldValidator1"
runat="server"
ControlToValidate="CompanyNameBox"
Display="Static"
ErrorMessage="Please enter a company name." />
<br /><asp:textbox
id="PhoneBox"
runat="server" />
<asp:RequiredFieldValidator
id="RequiredFieldValidator2"
runat="server"
ControlToValidate="PhoneBox"
Display="Static"
ErrorMessage="Please enter a phone number." />
<br /><asp:button
id="Button1"
runat="server"
text="Insert New Shipper"
onclick="InsertShipper" />
</form>
</body>
</html>
<%@Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
SqlDataSource1.Insert()
End Sub ' InsertShipper
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:dropdownlist
id="DropDownList1"
runat="server"
datasourceid="SqlDataSource1"
datatextfield="CompanyName"
datavaluefield="ShipperID" />
<!-- Security Note: The SqlDataSource uses a FormParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the FormParameter, handle the Inserting event. -->
<asp:sqldatasource
id="SqlDataSource1"
runat="server"
connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
<insertparameters>
<asp:formparameter name="CoName" formfield="CompanyNameBox" />
<asp:formparameter name="Phone" formfield="PhoneBox" />
</insertparameters>
</asp:sqldatasource>
<br /><asp:textbox
id="CompanyNameBox"
runat="server" />
<asp:RequiredFieldValidator
id="RequiredFieldValidator1"
runat="server"
ControlToValidate="CompanyNameBox"
Display="Static"
ErrorMessage="Please enter a company name." />
<br /><asp:textbox
id="PhoneBox"
runat="server" />
<asp:RequiredFieldValidator
id="RequiredFieldValidator2"
runat="server"
ControlToValidate="PhoneBox"
Display="Static"
ErrorMessage="Please enter a phone number." />
<br /><asp:button
id="Button1"
runat="server"
text="Insert New Shipper"
onclick="InsertShipper" />
</form>
</body>
</html>
備註
您可以使用 FormParameter 類別,將集合中 Form 窗體變數的值系結至參數化查詢或命令中使用的參數。 如果 FormParameter 已指定 ,但未傳遞對應的窗體變數,則系結數據至 參數的控件可能會擲回例外狀況。 如果窗體變數傳遞且沒有對應的值,它們也可能不會顯示任何數據。 DefaultValue設定 ,以避免在適當情況下發生這些情況。
類別 FormParameter 提供 FormField 屬性,除了繼承自 Parameter 類別的變數之外,還會識別要系結的窗體變數名稱。
重要
FormParameter不會以任何方式驗證表單專案所傳遞的值;它會使用原始值。 在大部分情況下,您可以在數據源控件處理事件之前驗證 的值 FormParameter ,例如 Selecting
您所使用的數據源控件所公開的 、 Updating
、 Inserting
或 Deleting
事件。 如果 參數的值未通過驗證測試,您可以將相關聯CancelEventArgs類別的 屬性設定Cancel為 true
來取消數據作業。
建構函式
FormParameter() |
初始化 FormParameter 類別未命名的新執行個體。 |
FormParameter(FormParameter) |
使用 |
FormParameter(String, DbType, String) |
使用指定的字串識別要繫結的表單變數欄位,初始化 FormParameter 類別的新執行個體。 |
FormParameter(String, String) |
初始化 FormParameter 類別的新命名執行個體,使用指定字串識別要繫結的表單變數欄位。 |
FormParameter(String, TypeCode, String) |
初始化 FormParameter 類別的新命名和強型別執行個體,使用指定字串識別要繫結的表單變數。 |
屬性
ConvertEmptyStringToNull |
取得或設定值,該值指示是否應將 Parameter 物件繫結至的值轉換成 |
DbType |
取得或設定參數的資料庫型別。 (繼承來源 Parameter) |
DefaultValue |
指定參數的預設值,當呼叫 Evaluate(HttpContext, Control) 方法時,要繫結的值應是此參數未初始化的值。 (繼承來源 Parameter) |
Direction |
表示此 Parameter 物件是否用來將值繫結至控制項,或是這個控制項是否可用來變更該值。 (繼承來源 Parameter) |
FormField |
取得或設定參數所繫結的表單變數名稱。 |
IsTrackingViewState |
取得值,指出 Parameter 物件是否正在將變更儲存到它的檢視狀態。 (繼承來源 Parameter) |
Name |
取得或設定參數的名稱。 (繼承來源 Parameter) |
Size |
取得或設定參數的大小。 (繼承來源 Parameter) |
Type |
取得或設定參數的類型。 (繼承來源 Parameter) |
ValidateInput |
取得或設定值,指出參數中的用戶端輸入是否已驗證。 |
ViewState |
取得狀態資訊的字典,允許您在相同頁面的多個要求之間,儲存和還原 Parameter 物件的檢視狀態。 (繼承來源 Parameter) |
方法
Clone() |
傳回目前 FormParameter 執行個體的複製。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Evaluate(HttpContext, Control) |
更新並傳回 FormParameter 物件的值。 |
GetDatabaseType() |
取得 DbType 值,該值等於目前 Parameter 執行個體的 CLR 型別。 (繼承來源 Parameter) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
LoadViewState(Object) |
將資料來源檢視還原成之前所儲存的檢視狀態。 (繼承來源 Parameter) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
OnParameterChanged() |
呼叫 OnParametersChanged(EventArgs) 集合的 ParameterCollection 方法,該集合包含給定的 Parameter 物件。 (繼承來源 Parameter) |
SaveViewState() |
儲存自頁面回傳至伺服器以來 Parameter 物件檢視狀態的變更。 (繼承來源 Parameter) |
SetDirty() |
標記 Parameter 物件,以便將其狀態記錄在檢視狀態中。 (繼承來源 Parameter) |
ToString() |
將這個執行個體的值轉換為它的相等字串表示。 (繼承來源 Parameter) |
TrackViewState() |
會造成 Parameter 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 物件中,並持續存取相同頁面的其他要求。 (繼承來源 Parameter) |
明確介面實作
ICloneable.Clone() |
傳回目前 Parameter 執行個體的複製。 (繼承來源 Parameter) |
IStateManager.IsTrackingViewState |
取得值,指出 Parameter 物件是否正在將變更儲存到它的檢視狀態。 (繼承來源 Parameter) |
IStateManager.LoadViewState(Object) |
將資料來源檢視還原成之前所儲存的檢視狀態。 (繼承來源 Parameter) |
IStateManager.SaveViewState() |
儲存自頁面回傳至伺服器以來 Parameter 物件檢視狀態的變更。 (繼承來源 Parameter) |
IStateManager.TrackViewState() |
會造成 Parameter 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 物件中,並持續存取相同頁面的其他要求。 (繼承來源 Parameter) |