ParameterCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public ref class ParameterCollection : System::Web::UI::StateManagedCollection
public class ParameterCollection : System.Web.UI.StateManagedCollection
type ParameterCollection = class
inherit StateManagedCollection
Public Class ParameterCollection
Inherits StateManagedCollection
- 继承
示例
下面的代码示例演示如何使用 AccessDataSource 控件和 来 FormParameter 显示控件中 GridView Microsoft Access 数据库中的信息。 使用 FormParameterAdd 方法将 对象添加到SelectParameters集合中。
重要
此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,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">
void Page_Load(Object sender, EventArgs e){
// You can add a FormParameter to the AccessDataSource control's
// SelectParameters collection programmatically.
AccessDataSource1.SelectParameters.Clear();
// Security Note: The AccessDataSource uses a FormParameter,
// Security Note: which does not perform validation of input from the client.
// Security Note: To validate the value of the FormParameter,
// Security Note: handle the Selecting event.
FormParameter formParam = new FormParameter("lastname","LastNameBox");
formParam.Type=TypeCode.String;
AccessDataSource1.SelectParameters.Add(formParam);
}
</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:accessdatasource
id="AccessDataSource1"
runat="server"
datasourcemode="DataSet"
datafile="Northwind.mdb"
selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
FROM Orders WHERE EmployeeID =
(SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
</asp:accessdatasource>
<br />Enter the name "Davolio" or "King" in the text box and click the button.
<br />
<asp:textbox
id="LastNameBox"
runat="server" />
<br />
<asp:button
id="Button1"
runat="server"
text="Get Records" />
<br />
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="AccessDataSource1">
</asp:gridview>
</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 Page_Load(sender As Object, e As EventArgs)
' You can add a FormParameter to the AccessDataSource control's
' SelectParameters collection programmatically.
AccessDataSource1.SelectParameters.Clear()
' Security Note: The AccessDataSource uses a FormParameter,
' Security Note: which does not perform validation of input from the client.
' Security Note: To validate the value of the FormParameter,
' Security Note: handle the Selecting event.
Dim formParam As New FormParameter("lastname","LastNameBox")
formParam.Type=TypeCode.String
AccessDataSource1.SelectParameters.Add(formParam)
End Sub ' Page_Load
</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:accessdatasource
id="AccessDataSource1"
runat="server"
datasourcemode="DataSet"
datafile="Northwind.mdb"
selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
FROM Orders WHERE EmployeeID =
(SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
</asp:accessdatasource>
<br />Enter the name "Davolio" or "King" in the text box and click the button.
<br />
<asp:textbox
id="LastNameBox"
runat="server" />
<br />
<asp:button
id="Button1"
runat="server"
text="Get Records" />
<br />
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="AccessDataSource1">
</asp:gridview>
</form>
</body>
</html>
注解
类 ParameterCollection 表示使用数据源控件的高级数据绑定方案中使用的 对象的集合 Parameter 。 在检索、更新、删除和插入数据时,这些 Parameter 对象用于将本地 Page 变量、HTTP Cookie、会话变量和其他控件的值包含的值绑定到数据源控件。
ParameterCollection使用 类以编程方式管理一组Parameter对象。 可以使用 类的适当方法ParameterCollection添加、插入和删除Parameter对象。 若要以编程方式从集合中检索 Parameter 对象,请使用以下方法之一:
使用索引器按名称或使用数组表示法从集合中获取单个 Parameter 对象。
GetEnumerator使用 方法创建System.Collections.IEnumerator实现的对象,该对象随后可用于从集合中获取项。
属性 Count 指定集合中的项总数,并用于确定集合的上限。 可以使用 、、 RemoveInsert和 方法在集合Add中添加和RemoveAt删除项。
根据特定数据源控件的实现和语义,参数在集合中的 ParameterCollection 存储顺序可能很重要。 例如,使用 SqlDataSource 控件作为 ODBC 数据源时,集合中ParameterCollection对象的顺序Parameter必须与所使用的参数化 SQL 查询中的参数顺序相同。 但是,将 SqlDataSource 控件与 Microsoft SQL Server 一起使用时,对象的顺序 Parameter 并不重要。
重要
使用数据源控件时,值将插入到命令参数中,而无需验证,这是一种潜在的安全威胁。 在执行命令之前,使用数据源控件中的 事件来验证参数值。 有关详细信息,请参阅脚本侵入概述。
下表列出了不同的参数类及其使用方式。
参数类 | 说明 |
---|---|
Parameter | 基参数类。 使用它通过 属性绑定到局部变量或任何静态字符串 DefaultValue 。 |
ControlParameter | 一个参数,可用于绑定到控件的属性或方法返回值。 |
CookieParameter | 一个参数,可用于绑定到 Cookie 的值。 |
FormParameter | 一个参数,可用于绑定到当前 Web 窗体页的属性。 |
QueryStringParameter | 一个参数,可用于绑定到传递给查询字符串上的 Web 窗体页的值。 |
SessionParameter | 一个参数,可用于绑定到会话变量的值。 |
ProfileParameter | 一个参数,可用于绑定到 ASP.NET Profile 属性的值。 |
构造函数
ParameterCollection() |
初始化该类供继承的类实例使用。 此构造函数只能由继承的类调用。 |
属性
Count |
获取 StateManagedCollection 集合中包含的元素的数量。 (继承自 StateManagedCollection) |
Item[Int32] |
获取或设置集合中指定索引处的 Parameter 对象。 |
Item[String] |
获取或设置集合中具有指定名称的 Parameter 对象。 |
方法
事件
ParametersChanged |
当集合包含的一个或多个 Parameter 对象的状态改变时发生。 |
显式接口实现
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |