Главная страница

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


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












Этот код разметки создает элемент ListView, который отображает список студентов и их оценки для выбранного курса. Источник данных не

задан, потому что вы выполните привязку в коде. Элемент EmptyDataTemplate обеспечивает сообщение для отображения, когда ничего не выбрано. Элемент LayoutTemplate создает HTML таблицу для отображения списка, а ItemTemplate определяет столбцы для отображения. ID студента и оценка студента определяются в сущности StudentGrade, имя студента выбирается из сущности Person, которую Entity Framework делает доступным в свойстве навигации Person сущности StudentGrade.

  1. В файле Instructors.aspx.cs реализуйте метод

CourseDetailsEntityDataSource_Selected следующим образом:

protected void CourseDetailsEntityDataSource_Selected(object sender, EntityDataSourceSelectedEventArgs e)

{

var course = e.Results.Cast().FirstOrDefault();

if (course != null)

{

var studentGrades = course.StudentGrades.ToList();

GradesListView.DataSource = studentGrades; GradesListView.DataBind();

}

}

Аргумент этого события обеспечивает выбранные данные в виде коллекции, которая будет иметь нулевые элементы, если ничего не выбрано, или один пункт, если выбран объект Course. Если выбран объект Course, код использует первый метод, чтобы преобразовать коллекцию к одному объекту. Затем она получает StudentGrade объекты из свойства навигации, преобразует их в коллекции, и связывает элемент GradesListView в коллекцию.

  1. Для очистки отображения в классе Instructors создайте следующий метод:

private void ClearStudentGradesDataSource()

{

var emptyStudentGradesList = new List();

GradesListView.DataSource = emptyStudentGradesList;

GradesListView.DataBind();

}

  1. Вызовите этот метод в обработчике события Page_Load страницы Instructors.aspx для отображения пустого шаблона при первой ее загрузке.

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

ClearStudentGradesDataSource();

}

}

  1. Также вызовите этот метод в обработчике события InstructorsGridView_SelectedIndexChanged – это событие происходит при выборе инструктора:

protected void InstructorsGridView_SelectedIndexChanged(object sender, EventArgs e)

{

ClearStudentGradesDataSource();

}

  1. Откройте страницу в обозревателе.

  2. Выберите инструктора, который назначен на курс, а затем выберите курс.



1   ...   14   15   16   17   18   19   20   21   ...   27
1   ...   14   15   16   17   18   19   20   21   ...   27

Упражнение 3. Применение события "Selected" EntityDataSource для отображения связанных данных


В этом упражнении вы отобразите всех зачисленных студентов для определенного курса. Чтобы сделать это, вы будете использовать событие Selected элемента управления EntityDataSource связанного с курсом в DetailsView.

  1. В файл Instructors.aspxдобавьте код разметки после элемента

DetailsView:

Student Grades








No student grades found.






id="itemPlaceholderContainer">













Name

Grade










runat="server" Text='<%# Eval("Person.LastName") %>' />,

runat="server" Text='<%# Eval("Person.FirstMidName") %>' />



runat="server" Text='<%# Eval("Grade") %>' />



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