Привязка к бизнес-объектам

Обновлен: Ноябрь 2007

В бизнес-приложениях обычно применяется инкапсулированная модель данных, в которой используется компонент DAL среднего уровня или бизнес-компонент. Обычно в веб-приложении требуется запись не только кода для объекта бизнес-данных, но и дополнительного кода взаимодействия с компонентом, а также кода для привязки элементов управления к данным, управление которыми осуществляет компонент. Наличие модели управления источником данных ASP.NET упрощает работу с бизнес-компонентом и сильно снижает или устраняет необходимость записи кода, который создается с использованием элемента управления ObjectDataSource, классов LINQ-SQL и элемента управления LinqDataSource.

Элемент управления ObjectDataSource

Элемент управления ObjectDataSource работает с любым бизнес-объектом, инкапсулирующим данные и предоставляющим службы управления данными. В элементе управления ObjectDataSource используется стандартная модель объекта управления источником данных для того, чтобы можно было выполнить привязку элементов управления привязкой данных, например, к элементу управления GridView. С помощью исходного бизнес-объекта можно напрямую управлять доступом к данным или использовать его в качестве программы-оболочки для существующего бизнес-компонента. Дополнительные сведения см. в разделе Создание исходного объекта элемента управления ObjectDataSource.

Элемент управления ObjectDataSource можно связать с бизнес-объектом, присвоив свойству TypeName элемента управления ObjectDataSource значение типа (имя класса) бизнес-объекта. Затем можно указать один или несколько методов бизнес-объекта, с помощью которых элемент управления ObjectDataSource будет вызывать указанные операции с данными. Свойство SelectMethod элемента управления ObjectDataSource позволяет определить метод исходного бизнес-объекта, который будет использован для извлечения данных. Аналогично этому свойства InsertMethod, UpdateMethod и DeleteMethod определяют методы, которые будут соответственно использованы для вставки, обновления и удаления операций.

После связи элемента управления ObjectDataSource с бизнес-объектом можно выполнить привязку элемента управления к элементу управления ObjectDataSource с использованием свойства DataSourceID элемента управления с привязкой, как показано в следующем примере:

<%@ 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>
<%@ 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.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!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 - VJ# 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.JSL.EmployeeLogic" />

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

Дополнительные сведения см. в подразделах раздела Общие сведения о серверном веб-элементе управления ObjectDataSource.

Классы LINQ-SQL

С помощью Сред. Объектно-реляционный конструктор можно создать классы, представляющие базу данных и ее таблицы. Для извлечения и изменения данных в классах, созданных конструктором, используются классы LINQ-SQL. После создания классов можно выполнить привязку к объектам данных с помощью элементов управления LinqDataSource или ObjectDataSource. Дополнительные сведения об элементе управления LinqDataSource см. в разделе Общие сведения о серверном веб-элементе управления LinqDataSource. Дополнительные сведения о LINQ и ASP.NET см. в разделе Использование LINQ с ASP.NET.

См. также

Основные понятия

Общие сведения о серверном веб-элементе управления LinqDataSource

Ссылки

Общие сведения о серверном веб-элементе управления ObjectDataSource