SqlDataSource.SelectParameters 属性

定义

从与 SelectCommand 控件相关联的 SqlDataSourceView 对象获取包含 SqlDataSource 属性所使用的参数的参数集合。

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

属性值

ParameterCollection,它包含 SelectCommand 属性所使用的参数。

属性

示例

下面的代码示例演示如何通过将 属性设置为 SelectCommand SQL 查询,从 Microsoft SQL Server 中的 Northwind 数据库中检索数据。 SQL 查询是参数化的,属性中的 SelectCommand 占位符与 ControlParameter 添加到集合中的 SelectParameters 对象匹配。 DropDownList绑定到的 控件ControlParameter充当控件中显示的ListBox内容的筛选器。

有关可使用的其他类型的参数的信息,请参阅 Parameter 类概述。

注意

由于 参数在 WHERE 子句中使用, SelectParameters 因此在代码示例中使用 属性在功能上等效于使用 FilterExpressionFilterParameters 属性。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">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>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">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>

注解

SelectCommand如果 属性包含参数化 SQL 查询,则SelectParameters集合包含与 SQL 字符串中的参数占位符对应的任何Parameter对象。

根据 ADO.NET 提供程序,集合中 SelectParameters 参数的顺序可能很重要。 System.Data.OleDbSystem.Data.Odbc 提供程序根据参数化 SQL 查询中的显示顺序关联集合中的参数。 System.Data.SqlClient提供程序是控件的默认 ADO.NET 提供程序SqlDataSource,通过将参数的名称与 SQL 查询中的占位符别名匹配来关联集合中的参数。 有关参数化 SQL 查询和命令的详细信息,请参阅 在 SqlDataSource 控件中使用参数

属性 SelectParameters 检索 SelectParameters 由与控件关联的 对象包含 SqlDataSourceView 的属性 SqlDataSource

重要

值插入到参数中而不进行验证,这是一个潜在的安全威胁。 在执行查询之前, Selecting 使用 事件验证参数值。 有关详细信息,请参阅脚本侵入概述

适用于

另请参阅