Главная страница
Навигация по странице:

  • Insert (Вставка)

  • Новые Лпр-ки. Веб ЛПР новые (1). Лабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5


    Скачать 1.04 Mb.
    НазваниеЛабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5
    АнкорНовые Лпр-ки
    Дата19.03.2022
    Размер1.04 Mb.
    Формат файлаdocx
    Имя файлаВеб ЛПР новые (1).docx
    ТипЛабораторная работа
    #403967
    страница19 из 27
    1   ...   15   16   17   18   19   20   21   22   ...   27

    Лабораторная работа 5. Работа со связанными данными (продолжение)


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

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

    Вы также создадите страницу, которая работает с отношением многие- ко-многим, назначая инструктора курса (добавление отношения между двумя сущностями, которые вы выберите) или удаление инструктора из курса (удаление отношения между двумя сущностями). В базе данных, добавив, отношения между преподавателем и курсом в новой строке добавляется к таблице ассоциации CourseInstructor; удаление отношения включает в себя удаление строки из таблицы ассоциации CourseInstructor. В Entity Framework, настроив свойства навигации, это делается без явного обращения к таблице CourseInstructor.

    Упражнение 1. Добавление сущности с отношением к другой сущности


    1. Создайте новую страницу CoursesAdd.aspx, которая основана на мастер странице Site.Masterи добавьте код разметки элемента Content с именем Content2:

    Add Courses



    runat="server"

    ConnectionString="name=SchoolEntities" DefaultContainerName="SchoolEntities"

    EnableFlattening="False" EntitySetName="Courses" EnableInsert="True" EnableDelete="True" >



    AutoGenerateRows="False"

    DataSourceID="CoursesEntityDataSource" DataKeyNames="CourseID"

    DefaultMode="Insert" oniteminserting="CoursesDetailsView_ItemInserting">



    HeaderText="ID" />

    HeaderText="Title" />

    HeaderText="Credits" />





    ID="DepartmentsEntityDataSource" runat="server" ConnectionString="name=SchoolEntities"

    DefaultContainerName="SchoolEntities" EnableDelete="True" EnableFlattening="False"

    EntitySetName="Departments" EntityTypeFilter="Department">



    ID="DepartmentsDropDownList" runat="server" DataSourceID="DepartmentsEntityDataSource"

    DataTextField="Name" DataValueField="DepartmentID"

    oninit="DepartmentsDropDownList_Init">













    Этот код разметки создает элемент EntityDataSource, который выбирает курсы и позволяет добавить строки. Вы будете использовать обработчик события вставки, чтобы обновить свойство навигации Department, когда новый курс будет создан.

    Далее создается элемент DetailsView для добавления новых объектов Course. Используются связанные поля для свойств Course. Вы будете должны ввести значение CourseID, потому что это поле не генерируется системой.

    1. В файле CoursesAdd.aspx.csпосле объявления класса добавьте поле класса, ссылающееся на элемент DepartmentsDropDownList:

    private DropDownList departmentDropDownList;

    1. Далее добавьте обработчик события Init элемента DepartmentsDropDownList в котором сохраните ссылку на элемент управления.

    protected void DepartmentsDropDownList_Init(object sender, EventArgs e)

    {

    departmentDropDownList = sender as

    DropDownList;

    }

    1. Добавьте обработчик события Inserting элемента DetailsView: protected void

    CoursesDetailsView_ItemInserting(object sender,

    DetailsViewInsertEventArgs e)

    {

    var departmentID = Convert.ToInt32(departmentDropDownList.SelectedValue);

    e.Values["DepartmentID"] = departmentID;

    }

    Когда пользователь нажимает Insert, то событие Inserting вызывается, прежде чем будет вставлена новая запись. Обработчик получает DepartmentID от элемента DropDownList и использует его, чтобы установить значение, которое будет использоваться для свойства DepartmentID сущности Course.

    1. Запустите страницу CoursesAdd.aspxвобозревателе.

    2. Введите ID, название и количество кредита и выберите кафедру, затем кликните Insert (Вставка).

    3. Откройте страницу Courses.aspxи выберите кафедру, ведущую новый курс. Проверьте, что новый курс успешно добавлен.
    1   ...   15   16   17   18   19   20   21   22   ...   27


    написать администратору сайта