Поделиться через


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

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

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