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 需要员工 ID 参数。 控件 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获取与 SelectParameters 控件关联的 对象的 属性ObjectDataSourceViewObjectDataSource

可以使用 元素以声明方式向集合添加参数,SelectParameters或者在 事件的 处理程序Selecting中以编程方式添加参数SelectParameters。 在运行时,元素中列出的 SelectParameters 参数首先添加到集合中。 然后,由 事件的处理程序 Selecting 添加或删除集合中的参数。 在 Selecting 运行 方法之前 Select 引发 事件。

Select 运行方法之前,集合中包含的 SelectParameters 参数的名称和类型必须与 属性指定的 SelectMethod 方法的签名匹配。 例如,如果名为 的 GetEmployeesByStateAndAge select 方法采用 string 和整数作为参数,则 SelectParameters 集合必须包含两个参数。 第一个参数必须解析为字符串,第二个参数必须解析为整数。 这两个参数都可以在 元素的标记中 SelectParameters 指定。 或者,可以在事件处理程序中添加 Selecting 它们,也可以在标记中添加一个参数,另一个参数可以编程方式添加。

有关详细信息,请参阅 对 ObjectDataSource 控件SelectMethod 属性使用参数。

重要

在事件处理程序的代码 Selecting 或 属性 SelectMethod 指定的 方法中,请确保验证从客户端接收的任何参数值。

适用于

另请参阅