ObjectDataSource.SelectParameters 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取参数的集合,这些参数由 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 指定的 方法中,请确保验证从客户端接收的任何参数值。