Общая характеристика представлений (Views): назначение, создание, вызов из контроллера. Строго типизированные представления. Примеры.
В ASP.NET MVC 5 представления - это файлы с расширением cshtml, которые содержат код пользовательского интерфейса в основном на языке html. Стандартноепредставление:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="/>
<title>SomeView</title>
</head>
<body>
<div>
<h2>@ViewBag.Message</h2>
</div>
</body>
</html>
Строго типизированное представление– представление, которому сообщается тип объекта модели представления:
@model IEnumerable<BookStore.Models.Book>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h3>Распродажа книг</h3>
<table>
<tr class="header"><td><p>Названиекниги</p></td>
<td><p>Автор</p></td>
<td><p>Цена</p></td><td></td>
</tr>
@foreach (BookStore.Models.Book b in Model)
{
<tr>
<td><p>@b.Name</p></td>
<td><p>@b.Author</p></td>
<td><p>@b.Price</p></td>
<td><p><a href="/Home/Buy/@b.Id">Купить</a></p></td>
</tr>
}
</table>
Хотя представление содержит главным образом, код html, оно не является html-страницей. При компиляции приложения на основе требуемого представления сначала генерируется класс на языке C#, а затем этот класс компилируется.При компиляции создается класс, наследующий от класса System.Web.Mvc.WebViewPage<T>, где T - это класс модели, которая будет использоваться. Все действия данного класса заключены в методе Execute, в котором с помощью метода WriteLiteral обрабатываются все имеющиеся в представлении элементы разметки html.
|
|
Для создания нового представления выберем в проекте папку Views и в нем нажмем правой кнопкой на подкаталог Home и в появившемся списке выберем пункт Add -> View... (Представление). В окне добавления нового представления предлагается настроить целый ряд опций:
1. View Name: имя нового представления. После создания ему автоматически будет присваиваться расширение cshtml.
2. Template: шаблон нового представления. Мы можем выбрать из следующего списка шаблонов:
a. Empty (without model): создается пустое представление с начальной разметкой
b. Empty: также создается пустое представление, но теперь ниже мы можем выбрать модель, которая будет подключена в представлении с помощью директивы @model
c. Create: генерируется представление с формой для создания новых объектов модели. В этой форме для каждого свойства модели создается отдельное поле
d. Delete: генерируется представление с формой для удаления объектов модели. В этой форме для каждого свойства модели создается отдельное поле
e. Details: генерируется представление, которое отображает значения всех свойств модели
f. Edit: генерируется представление с формой для редактирования имеющихся объектов модели. В этой форме для каждого свойства модели создается отдельное поле
|
|
g. List: создается представление, которое в таблице отображает все объекты из списка моделей. Для генерации списка объектов в данное представление необходимо передавать из метода контроллера значение типа IEnumerable<Тип_модели>. Представление также содержит ссылки на методы для выполнения операций создания/правки/удаления.
3. Model class: при выборе одной из предыдущих опций, кроме опции Empty (without model), нам становится доступно это поле, в котором мы можем указать модель для типизации представления. Такое представление будет считаться строго типизированным, то есть привязанным к одному классу модели
4. Data context class: также при выборе одной из предыдущих опций, кроме опции Empty (without model), нам становится доступно это поле, в котором мы можем выбрать класс контекста данных
5. Create as a partial view: позволяет создать частичное представление
6. Reference Script Libraries: эта опция показывает, будет ли представление автоматически подключать стандартный набор библиотек jQuery и прочих файлов JavaScript.
7. Use a layout page: эта опция указывает, будет ли использоваться мастер-страница или представление будет самодостаточным. После установки этой опции нам станет доступным нижнее поле, в котором можно выбрать мастер-страницу. Для движка Razor указание мастер-страницы не является обязательным, если вы собираетесь использовать мастер-страницу, определенную по умолчанию в файле _ViewStart.cshtml. Однако, если вы хотите переопределить мастер-страницу, то можете воспользоваться этой опцией.
Дата добавления: 2018-05-02; просмотров: 291; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!