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 集合會 Parameter 包含任何對應至 SQL 字串中參數預留位置的物件。

視 ADO.NET 提供者而定,集合中的 SelectParameters 參數順序可能很重要。 System.Data.OleDbSystem.Data.Odbc 提供者會根據參數出現在參數化 SQL 查詢中的順序,關聯集合中的參數。 提供者 System.Data.SqlClient 是控制項的預設 ADO.NET 提供者 SqlDataSource ,會比對參數的名稱與 SQL 查詢中的預留位置別名,使集合中的參數產生關聯。 如需參數化 SQL 查詢和命令的詳細資訊,請參閱 搭配 SqlDataSource 控制項使用參數

屬性 SelectParametersSelectParameters 擷取與 控制項相關聯 SqlDataSource 之 物件所包含的 SqlDataSourceView 屬性。

重要

值會插入參數而不進行驗證,這是潛在的安全性威脅。 在執行查詢之前, Selecting 請使用 事件來驗證參數值。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。

適用於

另請參閱