Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 613 614 615 616 617 618 619 620 621 ... 642
Перейти на страницу:

&lt;form method=&quot;post&quot; asp-controller=&quot;Cars&quot; asp-action=&quot;Edit&quot;

  asp-route-id=&quot;@Model.Id&quot; &gt;

&lt;!-- Для краткости не показано --&gt;

&lt;/form&gt;

С точки зрения строгой HTML-разметки дескриптор &lt;form&gt; будет работать без атрибутов вспомогательной функции дескриптора для формы. Если атрибуты отсутствуют, тогда это просто обычная HTML-форма, к которой понадобится вручную добавить маркер защиты от подделки. Тем не менее, после добавления одного из атрибутов asp-* к форме добавляется и маркер защиты от подделки, который можно отключить, добавив к дескриптору &lt;form&gt; атрибут asp-antiforgery=&quot;false&quot;. Маркер защиты от подделки рассматривается позже в главе.

Форма создания для сущности Car

Форма создания для сущности Car отправляется методу действия Create() класса CarsController. Добавьте в каталог ViewsCars новое пустое представление Razor по имени Create.cshtml со следующим содержимым:

@model Car

@{

  ViewData[&quot;Title&quot;] = &quot;Create&quot;;

}

&lt;h1&gt;Create a New Car&lt;/h1&gt;

&lt;hr/&gt;

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

  &lt;div class=&quot;col-md-4&quot;&gt;

    &lt;form asp-controller=&quot;Cars&quot; asp-action=&quot;Create&quot;&gt;

    &lt;/form&gt;

  &lt;/div&gt;

&lt;/div&gt;

Хотя представление не полное, его достаточно для демонстрации того, что было раскрыто до сих пор, а также вспомогательной функции дескриптора для формы. Первая строка строго типизирует представление сущностным классом Car. Блок кода Razor устанавливает специфичный к представлению заголовок для страницы  HTML-дескриптор &lt;form&gt; имеет атрибуты asp-controller и asp-action, которые выполняются на серверной стороне для формирования дескриптора, а также добавления маркера защиты от подделки. Чтобы визуализировать это представление, добавьте в каталог Controllers новый контроллер по имени CarsController. Модифицируйте код, как показано ниже (позже в главе он будет обновлен):

using Microsoft.AspNetCore.Mvc;

namespace AutoLot.Mvc.Controllers

{

  [Route(&quot;[controller]/[action]&quot;)]

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

  public class CarsController : Controller

  {

    public IActionResult Create()

    {

      return View();

    }

  }

}

Теперь запустите приложение и перейдите по ссылке http://localhost:5001/Cars/Create. Инспектирование источника покажет, что форма имеет атрибут действия (action), основанный на asp-controller и asp-action, метод (method), установленный в post, и добавленный скрытый элемент &lt;input&gt; с именем __RequestVerificationToken:

&lt;form action=&quot;/Cars/Create&quot; method=&quot;post&quot;&gt;

  &lt;input name=&quot;__RequestVerificationToken&quot; type=&quot;hidden&quot;

 value=&quot;CfDJ8Hqg5HsrvCtOkkLRHY4ukxwvix0vkQ3vOvezvtJWdl0P5lwbI5-

FFWXh8KCFZo7eKxveCuK8NRJywj8Jz23pP2nV37fIGqqcITRyISGgq7tRYZDuPv8N

MIYz2nCWRiDbxOvlkg61DTDW9BrJxr8H63Y&quot;&gt;

&lt;/form&gt;

Далее в главе представление Create будет неоднократно обновляться.

Вспомогательная функция дескриптора для действия формы

Вспомогательная функция дескриптора для действия формы используется в элементах кнопок и изображений с целью изменения действия содержащей их формы. Например, следующая кнопка, добавленная к форме редактирования, вызовет передачу запроса POST конечной точке Create:

&lt;button type=&quot;submit&quot; asp-action=&quot;Create&quot;&gt;Index&lt;/button&gt;

Вспомогательная функция дескриптора для якоря

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

&lt;a class=&quot;nav-link text-dark&quot; asp-area=&quot;&quot; asp-controller=&quot;Home&quot;

    asp-action=&quot;RazorSyntax&quot;&gt;

  Razor Syntax

&lt;/a&gt;

Для добавления страницы синтаксиса Razor в меню модифицируйте _Menu.cshtml, как показано ниже, добавив новый элемент меню между элементами Home (Домой) и Privacy (Секретность) (дескрипторы &lt;li&gt;, окружающие дескрипторы якорей, предназначены для меню Bootstrap):

1 ... 613 614 615 616 617 618 619 620 621 ... 642
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга