Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Добавление классов метаданныхСодержание книги Поиск на нашем сайте Добавление атрибутов проверки непосредственно в класс модели работает, если вы не ожидаете изменения базы данных; однако, если ваша база данных изменяется, и вам необходимо восстановить класс модели, вы потеряете все атрибуты, которые вы применили к классу модели. Такой подход может быть очень неэффективным и подвержен утрате важных правил валидации. Чтобы избежать эту проблему, вы можете добавить класс метаданных, содержащий атрибуты. Когда вы сопоставляете класс модели с классом метаданных, эти атрибуты применяются к модели. В этом подходе класс модели может быть восстановлен без потери всех атрибутов, которые были применены к классу метаданных. В папке «Модели» добавьте класс с именем Metadata.cs.
Замените код в Metadata.cs следующим кодом.
using System; using System.ComponentModel.DataAnnotations;
namespace ContosoSite.Models { public class StudentMetadata { [StringLength(50)] [Display(Name="Last Name")] public string LastName;
[StringLength(50)] [Display(Name="First Name")] public string FirstName;
[StringLength(50)] [Display(Name="Middle Name")] public string MiddleName;
[Display(Name = "Enrollment Date")] public Nullable<System.DateTime> EnrollmentDate; }
public class EnrollmentMetadata { [Range(0, 4)] public Nullable<decimal> Grade; } } Эти классы метаданных содержат все атрибуты проверки, которые вы ранее применяли к классам модели. Display атрибут используется для изменения значения, используемого для текстовых меток. Теперь вы должны связать классы модели с классами метаданных. В папке «Модели» добавьте класс с именем PartialClasses.cs. Замените содержимое файла на следующий код.
using System; using System.ComponentModel.DataAnnotations;
namespace ContosoSite.Models { [MetadataType(typeof(StudentMetadata))] public partial class Student { }
[MetadataType(typeof(EnrollmentMetadata))] public partial class Enrollment { } } Обратите внимание, что каждый класс помечен как partial класс, и каждый соответствует имени и пространству имен как класс, который автоматически генерируется. Применяя атрибут метаданных к частичному классу, вы гарантируете, что атрибуты проверки данных будут применены к автоматически генерируемому классу. Эти атрибуты не будут потеряны при регенерации классов модели, потому что атрибут метаданных применяется в частичных классах, которые не восстанавливаются. Чтобы восстановить автоматически созданные классы, откройте файл ContosoModel.edmx. Еще раз щелкните правой кнопкой мыши по поверхности дизайна и выберите «Обновить модель из базы данных». Несмотря на то, что вы не изменили базу данных, этот процесс будет восстанавливать классы. На вкладке «Обновить» выберите «Таблицы» и «Готово».
Сохраните файл ContosoModel.edmx, чтобы применить изменения. Откройте файл Student.cs или файл Enrollment.cs и обратите внимание, что ранее не были добавлены атрибуты проверки данных, которые вы применяли ранее. Однако запустите приложение и обратите внимание, что правила проверки все еще применяются при вводе данных.
Добавить ссылки на таблицы Чтобы облегчить вам переход к новым представлениям, вы можете добавить пару гиперссылок в представления Index для учащихся и учащихся. Откройте файл в Views / Home / Index.cshtml, который является домашней страницей вашего сайта. Добавьте следующий код ниже jumbotron. CSHTMLкопия <div> @Html.ActionLink("List of students", "Index", "Students")<br /> @Html.ActionLink("List of enrollments", "Index", "Enrollments") </div> Для метода ActionLink первым параметром является текст, отображаемый в ссылке. Второй параметр - это действие, а третий параметр - имя контроллера. Например, первая ссылка указывает на действие индекса в StudentsController. Из этих значений строится фактическая гиперссылка. Первая ссылка в конечном итоге включает пользователей в файл Index.cshtml в папке Views / Students.
Просмотр таблиц с данными Вы убедитесь, что код, добавленный в ваш проект, правильно отображает список учеников и позволяет пользователям редактировать, создавать или удалять записи учащихся в базе данных. Щелкните правой кнопкой мыши файл Views / Home / Index.cshtml и выберите «Просмотр в браузере». На этой странице щелкните ссылку для списка учеников.
На этой странице обратите внимание на список учащихся и ссылки для изменения этих данных.
Нажмите ссылку «Создать новую» и укажите некоторые значения для нового ученика.
Нажмите «Создать» и обратите внимание, что новый ученик добавлен в ваш список.
Выберите ссылку «Изменить» и измените некоторые значения для учащегося.
Нажмите «Сохранить» и обратите внимание, что запись студента была изменена. Наконец, выберите ссылку «Удалить» и подтвердите, что вы хотите удалить запись, нажав кнопку «Удалить».
Без написания кода вы добавили представления, которые выполняют общие операции с данными в таблице Student. Возможно, вы заметили, что текстовая метка для поля основана на свойстве базы данных (например, LastName), которое не обязательно означает, что вы хотите отображать на веб-странице. Например, вы можете предпочесть, чтобы метка была Фамилия. Вы устраните эту проблему с отображением позже в учебнике.
|
||
|
Последнее изменение этой страницы: 2019-04-27; просмотров: 265; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.006 с.) |