ObjectDataSource.SelectMethod Свойство

Определение

Получает или задает имя метода или функции, вызываемых элементом управления ObjectDataSource для извлечения данных.Gets or sets the name of the method or function that the ObjectDataSource control invokes to retrieve data.

public:
 property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String

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

Строка, представляющая имя метода или функции, используемых элементом управления ObjectDataSource для извлечения данных.A string that represents the name of the method or function that the ObjectDataSource uses to retrieve data. Значение по умолчанию — пустая строка ("").The default is an empty string ("").

Примеры

В следующем примере кода показано, как GridView элемент управления может отображать данные ObjectDataSource с помощью элемента управления на странице веб-форм.The following code example demonstrates how a GridView control can display data using an ObjectDataSource control on a Web Forms page. Определяет частичное или полное имя класса TypeName со свойством и методом, который вызывается SelectMethod для получения данных со свойством. ObjectDataSourceThe ObjectDataSource identifies a partially or fully qualified class name with its TypeName property and a method that is called to retrieve data with its SelectMethod property. Во время выполнения создается объект, и метод вызывается с помощью отражения.At run time, the object is created and the method is called using reflection. Элемент управления перечисляет IEnumerable коллекцию, возвращаемую методом SelectMethod , указанным свойством, и отображает данные. GridViewThe GridView control enumerates through the IEnumerable collection that is returned by the method that is specified by the SelectMethod property, and displays the data.

<%@ 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:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </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 - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>

Комментарии

Указанный метод может иметь любую сигнатуру метода, но он должен возвращать один из типов, приведенных в следующей таблице ObjectDataSource , чтобы элемент управления успешно вызывал его.The specified method can have any method signature, but it must return one of the types shown in the following table for the ObjectDataSource control to call it successfully.

Возвращаемый типReturn type ДействиеAction
IEnumerable МетодвозвращаетсяSelectметодом. IEnumerableThe IEnumerable is returned by the Select method.
DataTable Создается с помощью Selectивозвращаетсяметодом. DataTable DataViewA DataView is created using the DataTable and returned by the Select method.
DataView МетодвозвращаетсяSelectметодом. DataViewA DataView is returned by the Select method.
DataSet Первый DataTable DataView из извлекается, а создается и возвращается Select методом. DataSetThe first DataTable of the DataSet is extracted, and a DataView is created and returned by the Select method.
Object Объект упаковывается в коллекцию с одним элементом IEnumerable и возвращается Select методом.The object is wrapped in a one-element IEnumerable collection and returned by the Select method.

Свойство делегирует SelectMethod ObjectDataSource свойство ObjectDataSourceView объекта, связанного с элементом управления. SelectMethodThe SelectMethod property delegates to the SelectMethod property of the ObjectDataSourceView object that is associated with the ObjectDataSource control.

При использовании ObjectDataSource класса для удаления или обновления данных убедитесь, что имена параметров, настроенных ObjectDataSource для элемента управления в DeleteParameters коллекции или UpdateParameters коллекции, соответствуют именам столбцов, возвращаемым методом Select. .When you use the ObjectDataSource class to delete or update data, make sure that the parameter names configured for the ObjectDataSource control in the DeleteParameters collection or UpdateParameters collection match the column names that are returned by the select method.

Время жизни объектаObject Lifetime

Метод, идентифицируемый SelectMethod свойством, может быть методом экземпляра static или методом (Shared в Visual Basic).The method that is identified by the SelectMethod property can be an instance method or a static (Shared in Visual Basic) method. Если это метод экземпляра, бизнес-объект создается и уничтожается каждый раз, когда вызывается метод, заданный SelectMethod свойством.If it is an instance method, the business object is created and destroyed each time the method that is specified by the SelectMethod property is called. Можно ObjectCreated обойти события и ObjectCreating для работы с бизнес-объектом до вызова метода SelectMethod , заданного свойством.You can handle the ObjectCreated and ObjectCreating events to work with the business object before the method that is specified by the SelectMethod property is called. Можно также выполнить обработку ObjectDisposing события, возникающего после вызова метода, заданного SelectMethod свойством.You can also handle the ObjectDisposing event that is raised after the method that is specified by the SelectMethod property is called. Если бизнес-объект реализует IDisposable интерфейс Dispose , метод вызывается перед уничтожением объекта.If the business object implements the IDisposable interface, the Dispose method is called before the object is destroyed. Если метод имеет значение static (Shared в Visual Basic), бизнес-объект никогда не создается ObjectCreatedи вы не можете управлять событиями, ObjectDisposing ObjectCreatingи.If the method is static (Shared in Visual Basic), the business object is never created and you cannot handle the ObjectCreated, ObjectCreating, and ObjectDisposing events.

Слияние параметровParameter Merging

Параметры добавляются в SelectParameters коллекцию из следующих источников:Parameters are added to the SelectParameters collection from these sources:

  • Декларативно из SelectParameters элемента.Declaratively from the SelectParameters element.

  • Программным способом Selecting из метода.Programmatically from the Selecting method.

Сначала добавляются параметры, перечисленные в SelectParameters элементе.First, the parameters listed in the SelectParameters element are added. Во-вторых, параметры добавляются в Selecting событие программно и удаляются в событии, которое происходит Select перед выполнением метода.Second, parameters are programmatically added and removed in the Selecting event, which occurs before the Select method is run. Метод разрешается после слияния параметров.The method is resolved after the parameters are merged. Разрешение метода рассматривается в следующем разделе.Method resolution is discussed in the next section.

Важно!

Следует проверить все значения параметров, получаемые от клиента.You should validate any parameter value that you receive from the client. Среда выполнения просто подставляет значение параметра в SelectMethod свойство.The runtime simply substitutes the parameter value into the SelectMethod property.

Разрешение методаMethod Resolution

При вызове SelectParametersметодаполя данных из элемента управления с привязкой к данным, параметры, которые были созданы декларативно в элементе, и параметры Selecting , добавленные в обработчике событий, объединяются. SelectWhen the Select method is called, the data fields from the data-bound control, the parameters that were created declaratively in the SelectParameters element, and the parameters that were added in the Selecting event handler are all merged. (Дополнительные сведения см. в предыдущем разделе.) Затем ObjectDataSource элемент управления пытается найти вызываемый метод.(For more information, see the preceding section.) The ObjectDataSource control then attempts to find a method to call. Во-первых, он ищет один или несколько методов с именем, указанным в SelectMethod свойстве.First, it looks for one or more methods with the name that is specified in the SelectMethod property. Если совпадений не найдено, InvalidOperationException возникает исключение.If no match is found, an InvalidOperationException exception is thrown. Если совпадение найдено, оно ищет совпадающие имена параметров.If a match is found, it then looks for matching parameter names. Например, предположим, что тип, заданный TypeName свойством, имеет два метода с именем. SelectARecordFor example, suppose a type that is specified by the TypeName property has two methods named SelectARecord. Одна SelectARecord имеет один IDпараметр,, а другой SelectARecord имеет два параметра: Name и Number.One SelectARecord has one parameter, ID, and the other SelectARecord has two parameters, Name and Number. Если коллекция имеет только один параметр с именем ID, SelectARecord вызывается метод только ID с параметром. SelectParametersIf the SelectParameters collection has only one parameter named ID, the SelectARecord method with just the ID parameter is called. Тип параметра не проверяется при разрешении методов.The type of the parameter is not checked in resolving the methods. Порядок параметров не имеет значения.The order of the parameters does not matter.

DataObjectTypeName Если свойство задано, метод разрешается другим способом.If the DataObjectTypeName property is set, the method is resolved in a different way. Выполняет поиск метода с именем, указанным SelectMethod в свойстве, которое принимает один параметр типа DataObjectTypeName , указанного в свойстве. ObjectDataSourceThe ObjectDataSource looks for a method with the name that is specified in the SelectMethod property that takes one parameter of the type that is specified in the DataObjectTypeName property. В этом случае имя параметра не имеет значения.In this case, the name of the parameter does not matter.

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

Дополнительно