Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Свойство ObjectDataSource.SelectMethod

 

Опубликовано: Октябрь 2016

Возвращает или задает имя метода или функции, ObjectDataSource элементом управления для получения данных.

Пространство имен:   System.Web.UI.WebControls
Сборка:  System.Web (в System.Web.dll)

public string SelectMethod { get; set; }

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

Type: System.String

Строка, представляющая имя метода или функции, которая ObjectDataSource используется для получения данных. Значение по умолчанию — пустая строка ("").

Указанный метод может иметь какой-либо сигнатуре метода, но он должен возвращать один из типов, приведенных в следующей таблице для ObjectDataSource элемента управления для успешного вызова.

Возвращаемый тип

Действие

IEnumerable

IEnumerable Возвращается Select метод.

DataTable

Объект DataView создается с помощью DataTable и возвращенный Select метод.

DataView

Значение DataView возвращается Select метод.

DataSet

Первый DataTable из DataSet извлекается и DataView создается и возвращается путем Select метод.

Object

Объект упаковывается в один элемент IEnumerable коллекцию и возвращают Select метод.

SelectMethod Делегирует свойство SelectMethod свойство ObjectDataSourceView объекта, который связан с ObjectDataSource управления.

При использовании ObjectDataSource класса для удаления или обновления данных, убедитесь, что имена параметров настройки для ObjectDataSource элемента управления в DeleteParameters коллекцию или UpdateParameters коллекции совпадают с именами столбцов, возвращаемых метод select.

Метод, который определяется параметром SelectMethod свойство может быть методом экземпляра или static (Shared в Visual Basic) метод. Если это метод экземпляра, бизнес-объект создается и уничтожается при каждом метод, который задается параметром SelectMethod вызывается свойство. Можно обработать ObjectCreated и ObjectCreating событий для работы с бизнес-объект перед вызовом метода, который задается параметром SelectMethod вызывается свойство. Можно также обрабатывать ObjectDisposing событие, возникающее после метода, который задается параметром SelectMethod вызывается свойство. Если бизнес-объект реализует интерфейс IDisposable интерфейс, Dispose метод вызывается перед уничтожением объекта. Если метод является static (Shared в Visual Basic), бизнес-объекта не создается и не может обрабатывать ObjectCreated, ObjectCreating, и ObjectDisposing события.

Параметры добавляются в SelectParameters коллекцию из следующих источников:

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

  • Программно из Selecting метод.

Во-первых, параметры, приведенные в SelectParameters добавляются элемент. Во-вторых, программно добавляются и удаляются в параметры Selecting событие, которое происходит перед Select выполнения метода. Метод разрешается после слияния параметров. Разрешение метода рассматривается в следующем разделе.

System_CAPS_security Безопасность Примечание

Следует проверить все значения параметров, полученные от клиента. Среда выполнения просто подставляет значение параметра в SelectMethod свойство.

При Select вызове метода, поля данных из элемента управления с привязкой к данным, параметры, созданные декларативно в SelectParameters элемент и параметры, которые были добавлены в Selecting обработчик события будут объединены. (Дополнительные сведения см. в предыдущем разделе.) ObjectDataSource Управления затем пытается найти метод для вызова. Во-первых, он ищет один или несколько методов с именем, которая указана в SelectMethod свойство. Если совпадение не найдено, InvalidOperationException исключение. Если совпадение найдено, он затем ищет совпадение имен. Например, предположим, что тип, который задается параметром TypeName свойство имеет два метода с именем SelectARecord. Один SelectARecord имеет один параметр ID, а другой SelectARecord имеет два параметра Name и Number. Если SelectParameters коллекция имеет только один параметр с именем ID, SelectARecord метод просто ID именем параметра. При разрешении методов тип параметра не проверяется. Порядок параметров не имеет значения.

Если DataObjectTypeName свойство задано, метод разрешается по-разному. ObjectDataSource Ищет метод с именем, которая указана в SelectMethod свойство, которое принимает один параметр типа, который указан в DataObjectTypeName свойство. В этом случае имя параметра не имеет значения.

В следующем примере кода показано, как GridView элемент управления может отображать данные с помощью ObjectDataSource элемента управления на страницу Web Forms. ObjectDataSource Определяет класс частичное или полное имя с его TypeName свойство и метод, вызываемый для получения данных с его SelectMethod свойство. Во время выполнения создается объект и вызывается метод с использованием отражения. GridView Управления перечисление IEnumerable Коллекция, возвращаемая методом, который задается параметром SelectMethod Свойства и отображает данные.

<%@ 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>

.NET Framework
Доступно с 2.0
Вернуться в начало
Показ: