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
- 继承
示例
下面的代码示例演示如何使用 SqlDataSource 控件和简单的 ASP.NET 网页将数据插入数据库。 数据表中的当前数据显示在 控件中 DropDownList 。 可以通过在控件中 TextBox 输入值并单击按钮来添加新记录。 单击按钮时,指定的值将插入数据库中,并 DropDownList 刷新 。
重要
此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述。
<%@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不会以任何方式验证 form 元素传递的值;它使用原始值。 在大多数情况下,可以通过处理事件(例如Selecting
,由所使用的数据源控件公开的 FormParameter 、Updating
、 Inserting
或 Deleting
事件),在数据源控件使用它之前验证 的值。 如果 参数的值未通过验证测试,可以通过将关联CancelEventArgs类的 属性设置为 Canceltrue
来取消数据操作。
构造函数
FormParameter() |
初始化 FormParameter 类的未命名新实例。 |
FormParameter(FormParameter) |
使用 |
FormParameter(String, DbType, String) |
通过使用指定的字符串标识要绑定到的窗体变量字段,初始化 FormParameter 类的新实例。 |
FormParameter(String, String) |
使用指定字符串标识要绑定到的窗体变量字段,初始化 FormParameter 类的一个新的已命名的实例。 |
FormParameter(String, TypeCode, String) |
使用指定字符串标识要绑定到的窗体变量,初始化 FormParameter 类的一个新的已命名的强类型实例。 |
属性
ConvertEmptyStringToNull |
获取或设置一个值,该值指示在 Parameter 对象绑定到的值为 Empty 时是否应将其转换为 |
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 实例的 CLR 类型等效的 Parameter 值。 (继承自 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) |