Spec-Zone .ru
спецификации, руководства, описания, API

21.2.4.6. Учебное руководство: Привязка данных в ASP.NET Используя LINQ на Объектах

В этом учебном руководстве Вы создаете ASP.NET веб-страницу, которая связывает запросы LINQ с объектами, используя отображение Платформы Объекта.

Если Вы уже не сделали так, установите Мировую базу данных в качестве примера до попытки этого учебного руководства. См. учебное руководство Раздел 21.2.4.5, "Учебное руководство: Используя Объект Платформы Объекта как Источник данных Windows Forms" для инструкций по загрузке и установке этой базы данных.

Создание ASP.NET веб-сайта

В этой части учебного руководства Вы создаете ASP.NET веб-сайт. Веб-сайт использует Мировую базу данных. Основная веб-страница обладает выпадающим списком, из которого можно выбрать страну. Данные о городах той страны тогда выводятся на экран в управлении представлением сетки.

  1. От Visual Studio главное меню выбирают Файл, Новый, Веб-сайт....

  2. От Visual Studio установленные шаблоны выбирают ASP.NET Веб-сайт. Нажать OK. Вам подарят Исходное представление Вашей веб-страницы по умолчанию.

  3. Щелкните по вкладке Design view, расположенной под Исходной панелью представления.

    Рисунок 21.63. Вкладка Проекта

    Вкладка Проекта

  4. В панели Design view введите некоторый текст, чтобы украсить пустую веб-страницу.

  5. Щелкните по Toolbox. От списка средств управления выбирают DropDownList. Перетащите и отбросьте управление к расположению ниже текста на Вашей веб-странице.

    Рисунок 21.64. Выпадающий список

    Выпадающий список

  6. В контекстном меню управления DropDownList гарантируйте, что флажок Enable AutoPostBack включается. Это гарантирует, что обработчик событий управления вызывают, когда элемент выбирается. Выбор пользователя будет поочередно использоваться, чтобы заполнить управление GridView.

    Рисунок 21.65. Включите AutoPostBack

    Включите AutoPostBack

  7. От Панели инструментов выбирают управление GridView.

    Рисунок 21.66. Управление Представлением сетки

    Сетка Управление Vew

    Перетащите и отбросьте Сетку управление Vew к расположению только ниже Выпадающего списка, который Вы уже поместили.

    Рисунок 21.67. Размещенный Грид Вью Контрол

    Помещенное Управление Представлением Сетки

  8. В этой точке рекомендуется, чтобы Вы сохранили свое решение, и создали решение гарантировать, что нет никаких ошибок.

  9. Если Вы выполните решение, то Вы будете видеть, что текст и выпадающий список выводятся на экран, но список пуст. Кроме того, представление сетки не появляется вообще. Добавление этой функциональности описывается в следующих разделах.

На данном этапе у Вас есть веб-сайт, который создаст, но дальнейшая функциональность требуется. Следующий шаг должен будет использовать Платформу Объекта, чтобы создать отображение из Мировой базы данных в объекты, которыми можно управлять программно.

Создание ADO.NET Модель данных Объекта

На этом этапе учебного руководства Вы добавите ADO.NET Модель данных Объекта к Вашему проекту, используя Мировую базу данных на уровне хранения. Процедура для того, чтобы сделать это описывается в учебном руководстве Раздел 21.2.4.5, "Учебное руководство: Используя Объект Платформы Объекта как Источник данных Windows Forms", и так не будет повторен здесь.

Заполнение Поля списка Данных Отбрасывания с использованием результатов объекта запрос LINQ

В этой части учебного руководства Вы запишете код, чтобы заполнить управление DropDownList. Когда веб-страница загрузится, данные, чтобы заполнить список будут достигнуты при использовании результатов запроса LINQ на модели, создаваемой ранее.

  1. В панели Design view, двойной щелчок любая пустая область. Это переводит в рабочее состояние Page_Load метод.

  2. Измените соответствующий раздел кода согласно следующему перечислению:

    ...public partial class _Default : System.Web.UI.Page{    worldModel.worldEntities we;    protected void Page_Load(object sender, EventArgs e)    {        we = new worldModel.worldEntities();        if (!IsPostBack)        {            var countryQuery = from c in we.country                               orderby c.Name                               select new { c.Code, c.Name };            DropDownList1.DataValueField = "Code";            DropDownList1.DataTextField = "Name";            DropDownList1.DataSource = countryQuery;            DataBind();        }    }...

    Отметьте, что список управляет только потребностями, которые будут заполнены, когда страница сначала загружается. Условный код гарантирует, что, если бы страница впоследствии перезагружается, управление списком не повторно заполняется, который заставил бы пользовательский выбор быть потерянным.

  3. Сохраните решение, создайте его и выполните его. Следует видеть, что управление списком было заполнено. Можно выбрать элемент, но пока еще управление представлением сетки не появляется.

В этой точке Вы имеете рабочий контроль Выпадающего списка, заполненный запросом LINQ на Вашей модели данных объекта.

Заполнение управления Представлением Сетки, используя объект запрос LINQ

В последней части этого учебного руководства Вы заполните Управление Представлением Сетки, используя запрос LINQ на Вашей модели данных объекта.

  1. В Режиме конструктора, двойном щелчке управление DropDownList. Это вызывает SelectedIndexChanged код, который будет выведен на экран. Этот метод вызывают, когда пользователь выбирает элемент в управлении списком и таким образом запускает Автособытие возврата.

  2. Измените соответствующий раздел кода соответственно к следующему перечислению:

    ...    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)    {        var cityQuery = from c in we.city                        where c.CountryCode == DropDownList1.SelectedValue                        orderby c.Name                        select new { c.Name, c.Population, c.CountryCode };        GridView1.DataSource = cityQuery;        DataBind();    }...

    Управление представлением сетки заполняется от результата запроса LINQ на модели данных объекта.

  3. Как проверка сравнивают Ваш код с тем показанным в следующем снимке экрана:

    Рисунок 21.68. Исходный код

    Исходный код

  4. Сохраните, создайте и выполните решение. Поскольку Вы выбираете страну, Вы будете видеть, что ее города выводятся на экран в управлении представлением сетки.

    Рисунок 21.69. Рабочий Веб-сайт

    Рабочий Веб-сайт

В этом учебном руководстве Вы видели, как создать ASP.NET веб-сайт, Вы также видели, как можно получить доступ к базе данных MySQL, используя запросы LINQ на модели данных объекта.