ObjectDataSource.SelectParameters Свойство

Определение

Получает коллекцию параметров, используемых методом, заданным свойством SelectMethod.Gets a collection of parameters that are used by the method specified by the SelectMethod property.

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

Значение свойства

ParameterCollection

Коллекция параметров, используемых методом, заданным свойством SelectMethod.A collection of parameters that are used by the method specified by the SelectMethod property.

Атрибуты

Примеры

В следующем примере кода показано, как получить одну запись данных с помощью ObjectDataSource элемента управления и отобразить ее в DetailsView элементе управления.The following code example demonstrates how to retrieve a single data record using an ObjectDataSource control and display it in a DetailsView control. ObjectDataSourceЭлемент управления извлекает определенную запись о сотруднике, вызывая GetEmployee метод EmployeeLogic класса.The ObjectDataSource control retrieves a specific employee record by calling the GetEmployee method of the EmployeeLogic class. Для GetEmployee метода требуется параметр идентификатора сотрудника.The GetEmployee method requires an employee ID parameter. Элемент ObjectDataSource управления использует QueryStringParameter элемент в разметке для создания QueryStringParameter объекта, который будет получать значение указанного параметра строки запроса из URL-адреса и передавать его GetEmployee методу.The ObjectDataSource control uses a QueryStringParameter element in markup to create a QueryStringParameter object that will retrieve the value of a specified query-string parameter from the URL and pass it to the GetEmployee method.

Другие классы параметров можно использовать для получения значений из других источников, таких как свойства элементов управления, поля форм, файлы cookie, данные профиля ASP.NET или состояние сеанса.Other parameter classes can be used to retrieve values from other sources, such as control properties, form fields, cookies, ASP.NET profile data, or session state. Для передачи жестко запрограммированного значения методу Select можно также использовать объект параметра, определенный в разметке.You can also use a parameter object that is defined in markup in order to pass a hard-coded value to the select method. Дополнительные сведения о доступных классах параметров см. в разделе Использование параметров с элементами управления источниками данных для фильтрации.For more information about parameter classes that are available, see Using Parameters with Data Source Controls for Filtering.

Для выполнения этого примера потребуется следующее:To run this example, you will need the following:

  • Веб-сайт, имеющий строку подключения с именем NorthwindConnection , которая подключается к базе данных Northwind Traders.A Web site that has a connection string named NorthwindConnection that connects to the Northwind Traders database. Дополнительные сведения см. в разделе ObjectDataSource Общие сведения о классе.For more information, see the ObjectDataSource class overview.

  • EmployeeLogicКласс, который показан в виде одного из примеров кода для ObjectDataSource обзора класса.The EmployeeLogic class that is shown as one of the code examples for the ObjectDataSource class overview. Файл класса должен находиться в папке App_Code.The class file must be located in the App_Code folder.

  • Пример кода можно запустить как страницу ASPX.The sample code can be run as an .aspx page. Если страница запрашивается без параметра строки запроса, выводится сообщение об ошибке.If you request the page without a query-string parameter, an error message is displayed. Если вы запрашиваете страницу, используя строку запроса ?empid=1 , например после имени ASPX-файла, вы увидите сведения для запрошенного сотрудника.If you request the page using a query string such as ?empid=1 after the name of the .aspx file, you will see the details for the requested employee.

<%@ 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 элементом управления.The SelectParameters property gets the SelectParameters property of the ObjectDataSourceView object that is associated with the ObjectDataSource control.

Параметры добавляются в SelectParameters коллекцию декларативно с помощью SelectParameters элемента или программно в обработчике Selecting события.You add parameters to the SelectParameters collection declaratively by using the SelectParameters element or programmatically in the handler for the Selecting event. Во время выполнения параметры, перечисленные в SelectParameters элементе, добавляются в коллекцию первыми.At run time, parameters listed in the SelectParameters element are added to the collection first. После этого параметры в коллекции добавляются или удаляются обработчиком для Selecting события.Parameters in the collection are then added or removed by the handler for the Selecting event. SelectingСобытие возникает перед Select выполнением метода.The Selecting event is raised before the Select method is run.

Перед Select выполнением метода имена и типы параметров, содержащихся в SelectParameters коллекции, должны соответствовать сигнатуре метода, указанного SelectMethod свойством.Before the Select method is run, the names and types of the parameters that are contained in the SelectParameters collection must match the signature of the method that is specified by the SelectMethod property. Например, если метод Select GetEmployeesByStateAndAge принимает string и целое число в качестве параметров, SelectParameters коллекция должна содержать два параметра.For example, if a select method named GetEmployeesByStateAndAge takes a string and an integer as parameters, the SelectParameters collection must contain two parameters. Первый параметр должен разрешаться в строку, а второй параметр должен разрешаться в целое число.The first parameter must resolve to a string and the second parameter must resolve to an integer. Оба параметра можно указать в разметке SelectParameters элемента.Both parameters can be specified in markup in the SelectParameters element. Кроме того, их можно добавить в Selecting обработчик событий, а один параметр можно добавить в разметку, а другой можно добавить программным способом.Alternatively, they can be can be added in the Selecting event handler, or one parameter can be added in markup and the other one can be added programmatically.

Дополнительные сведения см. в разделе Использование параметров с элементом управления ObjectDataSource и SelectMethod свойством.For more information, see Using Parameters with the ObjectDataSource Control and the SelectMethod property.

Важно!

В коде для Selecting обработчика событий или в методе, указанном SelectMethod свойством, убедитесь, что проверяется любое значение параметра, полученное от клиента.In the code for the Selecting event handler or in the method that is specified by the SelectMethod property, make sure that you validate any parameter value that is received from the client.

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

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