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 , убедитесь, что вы проверяете значение параметра, полученное от клиента.

Применяется к

См. также раздел