从与 SqlDataSource 控件相关联的 SqlDataSourceView 对象获取包含 SelectCommand 属性所使用的参数的参数集合。
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)
属性值
ParameterCollection,它包含 SelectCommand 属性所使用的参数。
备注
如果 SelectCommand 属性包含参数化 SQL 查询,则 SelectParameters 集合将包含与 SQL 字符串中的参数占位符相对应的所有 Parameter 对象。
根据 ADO.NET 提供程序的不同,SelectParameters 集合中参数的顺序可能很重要。System.Data.OleDb 和 System.Data.Odbc 提供程序按照集合中的参数在参数化 SQL 查询中出现的顺序关联这些参数。System.Data.SqlClient 提供程序(它是 SqlDataSource 控件的默认 ADO.NET 提供程序)通过将参数名称与 SQL 查询中的占位符别名匹配来关联此集合中的参数。有关参数化 SQL 查询和命令的更多信息,请参见 对 SqlDataSource 控件使用参数。
SelectParameters 属性检索 SqlDataSourceView 对象(与 SqlDataSource 控件关联)所包含的 SelectParameters 属性。
示例
下面的代码示例演示如何通过将 SelectCommand 属性设置为 SQL 查询来从 Microsoft SQL Server 的 Northwind 数据库中检索数据。该 SQL 查询是参数化查询并且 SelectCommand 属性中的占位符与添加到 SelectParameters 集合中的 ControlParameter 对象相匹配。ControlParameter 所绑定到的 DropDownList 控件作为筛选器,用于筛选显示在 ListBox 控件中的内容。
注意 |
---|
由于该参数用在 WHERE 子句中,因此在代码示例中 SelectParameters 属性的作用相当于 FilterExpression 和 FilterParameters 属性的功能。 |
C#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form runat="server">
<p><asp:dropdownlist id="DropDownList1" runat="server" autopostback="True">
<asp:listitem selected>Sales Representative</asp:listitem>
<asp:listitem>Sales Manager</asp:listitem>
<asp:listitem>Vice President, Sales</asp:listitem> </asp:dropdownlist></p>
<asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
<selectparameters> <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/> </selectparameters>
</asp:sqldatasource> <p>
<asp:listbox id="ListBox1" runat="server" datasourceid="SqlDataSource1" datatextfield="LastName"> </asp:listbox></p>
</form>
</body>
</html>