Рейтинговые книги
Читем онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 611 612 613 614 615 616 617 618 619 ... 642

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>@ViewData["Title"] - AutoLot.Mvc</title>

<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />

<link rel="stylesheet" href="~/css/site.css" />

Замените разметку, удаленную из файла _Layout.cshtml, вызовом для визуализации нового частичного представления:

<head>

  <partial name="Partials/_Head"/>

</head>

Дескриптор <partial> — это еще один пример вспомогательной функции дескриптора. В атрибуте name указывается имя частичного представления с путем, начинающимся с текущего каталога представления, которым в данном случае является ViewsShared.

Частичное представление 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>

<b>  &lt;partial name=&quot;Partials/_Head&quot; /&gt;</b>

&lt;/head&gt;

&lt;body&gt;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  &lt;header&gt;

<b>    &lt;partial name=&quot;Partials/_Menu&quot; /&gt;</b>

  &lt;/header&gt;

  &lt;div class=&quot;container&quot;&gt;

    &lt;main role=&quot;main&quot; class=&quot;pb-3&quot;&gt;

      @RenderBody()

    &lt;/main&gt;

  &lt;/div&gt;

  &lt;footer class=&quot;border-top footer text-muted&quot;&gt;

    &lt;div class=&quot;container&quot;&gt;

       &copy; 2021 - AutoLot.Mvc - &lt;a asp-area=&quot;&quot; asp-controller=&quot;Home&quot;

asp-action=&quot;Privacy&quot;&gt;Privacy&lt;/a&gt;

    &lt;/div&gt;

  &lt;/footer&gt;

<b>   &lt;partial name=&quot;Partials/_JavaScriptFiles&quot; /&gt;</b>

  @await RenderSectionAsync(&quot;Scripts&quot;, required: false)

&lt;/body&gt;

&lt;/html&gt;

Отправка данных представлениям

Существует несколько способов отправки данных представлению. В случае строго типизированных представлений данные можно отправлять, когда представления визуализируются (либо из метода действия, либо через вспомогательную функцию дескриптора &lt;partial&gt;).

Строго типизированные представления и модели представлений

При передаче методу View() модели или модели представления значение присваивается свойству @model строго типизированного представления (обратите внимание на букву m в нижнем регистре):

@model IEnumerable&lt;Order&gt;

Свойство @model устанавливает тип для представления, к которому затем можно получать доступ с использованием Razor-команды @Model (обратите внимание на букву М в верхнем регистре):

@foreach (var item in Model)

{

  // Делать что-то.

}

В методе действия RazorViewSyntax() демонстрируется представление, получающее данные из этого метода действия:

[HttpGet]

public IActionResult RazorSyntax([FromServices] ICarRepo carRepo)

{

  var car = carRepo.Find(1);

1 ... 611 612 613 614 615 616 617 618 619 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий