Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.184.90 (0.01 с.) |