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 получает SelectParameters свойство объекта, связанного ObjectDataSourceView с элементом ObjectDataSource управления.
Параметры в SelectParameters коллекцию декларативно добавляются с помощью SelectParameters элемента или программно в обработчике Selecting события. Во время выполнения параметры, перечисленные в элементе SelectParameters , добавляются в коллекцию в первую очередь. Затем параметры в коллекции добавляются или удаляются обработчиком события Selecting . Событие Selecting вызывается перед запуском Select метода.
Select Перед запуском метода имена и типы параметров, содержащихся в SelectParameters коллекции, должны соответствовать сигнатуре метода, указанного свойствомSelectMethod. Например, если метод select с именем GetEmployeesByStateAndAge принимает string и целое число в качестве параметров, SelectParameters коллекция должна содержать два параметра. Первый параметр должен разрешаться в строку, а второй параметр должен разрешаться в целое число. Оба параметра можно указать в разметке в элементе SelectParameters . Кроме того, их можно добавить в Selecting обработчик событий или один параметр можно добавить в разметку, а другой можно добавить программным способом.
Дополнительные сведения см. в разделе "Использование параметров" с элементом Управления ObjectDataSource и свойством SelectMethod .
Это важно
В коде обработчика Selecting событий или в методе, указанном SelectMethod свойством, убедитесь, что вы проверяете любое значение параметра, полученное от клиента.