Язык программирования C#9 и платформа .NET5
Шрифт:
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - AutoLot.Mvc</title>
<link rel="stylesheet" href="#" />
<link rel="stylesheet" href="#" />
Замените разметку, удаленную из файла
_Layout.cshtml
, вызовом для визуализации нового частичного представления:
<head>
<partial name="Partials/_Head"/>
</head>
Дескриптор
<partial>
—
Views\Shared
. Частичное представление Menu
Для частичного представления
Menu
вырежьте всю разметку между дескрипторами <header></header>
(не <headx/head>
) и вставьте ее в файл Menu.cshtml
. Модифицируйте файл Layout.cshtml
, чтобы визуализировать частичное представление Menu
:
<header>
<partial name="Partials/_Menu"/>
</header>
Частичное представление JavaScriptFiles
Наконец, вырежьте дескрипторы
<script>
для файлов JavaScript и вставьте их в частичное представление JavaScriptFiles
. Удостоверьтесь в том, что оставили дескриптор RenderSection
на своем месте. Вот частичное представление JavaScriptFiles
:
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
Ниже приведена текущая разметка в файле
_Layout.cshtml
:
<!DOCTYPE html>
<html lang="en">
<head>
<partial name="Partials/_Head" />
</head>
<body>
<header>
<partial name="Partials/_Menu" />
</header>
<div class="container">
<main role="main" class="pb-3">
@RenderBody
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
© 2021 - AutoLot.Mvc - <a asp-area="" asp-controller="Home"
asp-action="Privacy">Privacy</a>
</div>
</footer>
<partial name="Partials/_JavaScriptFiles" />
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>
Отправка
данных представлениям
Существует несколько способов отправки данных представлению. В случае строго типизированных представлений данные можно отправлять, когда представления визуализируются (либо из метода действия, либо через вспомогательную функцию дескриптора
<partial>
). Строго типизированные представления и модели представлений
При передаче методу
View
модели или модели представления значение присваивается свойству @model
строго типизированного представления (обратите внимание на букву m
в нижнем регистре):
@model IEnumerable<Order>
Свойство
@model
устанавливает тип для представления, к которому затем можно получать доступ с использованием Razor-команды @Model
(обратите внимание на букву М
в верхнем регистре):
@foreach (var item in Model)
{
// Делать что-то.
}
В методе действия
RazorViewSyntax
демонстрируется представление, получающее данные из этого метода действия:
[HttpGet]
public IActionResult RazorSyntax([FromServices] ICarRepo carRepo)
{
var car = carRepo.Find(1);
return View(car);
}
Значение модели может быть передано и в
<partial>
, как показано ниже:
<partial name="Partials/_CarListPartial" model="@Model"/>
Объекты ViewBag, ViewData и TempData
Объекты
ViewBag
, ViewData
и TempData
являются механизмами для отправки представлению данных небольшого объема. В табл. 31.1 описаны три механизма передачи данных из контроллера в представление (помимо свойства Model
) либо из контроллера в контроллер.
Поделиться:
Популярные книги
На границе империй. Том 4
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
Имя нам Легион. Том 4
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Барон устанавливает правила
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Начальник милиции. Книга 5
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Пенсия для морского дьявола
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Низший - Инфериор. Компиляция. Книги 1-19
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Мастер 4
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Студиозус
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Безумный Макс. Ротмистр Империи
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Ветер перемен
5. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
По дороге пряностей
2. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
5.50
рейтинг книги
Убивать чтобы жить 2
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Решала
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Повелитель механического легиона. Том I
1. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00