ObjectDataSource.SelectParameters 屬性

定義

取得參數的集合,這些參數是由 SelectMethod 屬性指定的方法所使用。

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

屬性值

參數的集合,這些參數是由 SelectMethod 屬性指定的方法所使用。

屬性

範例

下列程式碼範例示範如何使用 控制項擷取單一 ObjectDataSource 資料記錄,並將其顯示在 控制項中 DetailsView 。 控制項 ObjectDataSource 會呼叫 GetEmployee 類別的 EmployeeLogic 方法,以擷取特定的員工記錄。 方法 GetEmployee 需要員工識別碼參數。 控制項 ObjectDataSource 會使用 QueryStringParameter 標記中的專案來建立 QueryStringParameter 物件,以從 URL 擷取指定之查詢字串參數的值,並將其傳遞至 GetEmployee 方法。

其他參數類別可用來從其他來源擷取值,例如控制項屬性、表單欄位、Cookie、ASP.NET 設定檔資料或會話狀態。 您也可以使用標記中定義的參數物件,將硬式編碼值傳遞至 select 方法。 如需可用參數類別的詳細資訊,請參閱 搭配資料來源控制項使用參數以進行篩選

若要執行此範例,您需要下列專案:

  • 具有名為 的連接字串的網站,可 NorthwindConnection 連線到 Northwind Traders 資料庫。 如需詳細資訊,請參閱 ObjectDataSource 類別概觀。

  • 類別 EmployeeLogic ,顯示為類別概觀的其中一個程式碼範例 ObjectDataSource 。 類別檔案必須位於 App_Code 資料夾中。

  • 範例程式碼可以執行為 .aspx 頁面。 如果您要求頁面沒有查詢字串參數,就會顯示錯誤訊息。 如果您使用查詢字串要求頁面,例如 ?empid=1 .aspx 檔案名之後,您會看到所要求員工的詳細資料。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:detailsview
          id="DetailsView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:detailsview>

<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetEmployee"
          typename="Samples.AspNet.CS.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!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>
    <title>ObjectDataSource - VB Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:detailsview
          id="DetailsView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:detailsview>

<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetEmployee"
          typename="Samples.AspNet.VB.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

    </form>
  </body>
</html>

備註

屬性 SelectParameters 會取得 SelectParametersObjectDataSource 控制項相關聯的 物件屬性 ObjectDataSourceView

您可以使用 元素,或以程式設計方式在 事件的處理常式 Selecting 中,將參數加入集合。 SelectParametersSelectParameters 在執行時間,元素中列出的 SelectParameters 參數會先新增至集合。 然後,由 事件的處理常式 Selecting 新增或移除集合中的參數。 在方法執行之前 Select ,會 Selecting 引發 事件。

Select執行方法之前,包含在集合中的 SelectParameters 參數名稱和類型必須符合 屬性所 SelectMethod 指定之方法的簽章。 例如,如果名為 的 GetEmployeesByStateAndAge select 方法採用 string 和 整數作為參數, SelectParameters 集合必須包含兩個參數。 第一個參數必須解析為字串,而第二個參數必須解析為整數。 這兩個參數都可以在 元素的 SelectParameters 標記中指定。 或者,您也可以在事件處理常式中 Selecting 新增它們,也可以將一個參數加入標記中,另一個參數也可以以程式設計方式新增。

如需詳細資訊,請參閱 搭配 ObjectDataSource 控制項使用參數SelectMethod 屬性。

重要

在事件處理常式的程式碼 Selecting 中,或在 屬性所 SelectMethod 指定的 方法中,確定您驗證從用戶端接收的任何參數值。

適用於

另請參閱