Чтение онлайн

на главную

Жанры

Язык программирования C#9 и платформа .NET5
Шрифт:

И

ViewBag
, и
ViewData
указывают на тот же самый объект; они просто предлагают разные способы доступа к данным. Еще раз взгляните на созданный ранее файл
_HeadPartial.cshtml
(важная строка выделена полужирным):

<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="#" />

Вы

заметите, что в атрибуте
<ctitle>
для установки значения применяется объект
ViewData
. Поскольку
ViewData
— конструкция Razor, она предваряется символом
@
. Чтобы увидеть результаты, модифицируйте представление
RazorSyntax.cshtml
следующим образом:

@model AutoLot.Models.Entities.Car

@{

ViewData["Title"] = "RazorSyntax";

}

<h1>Razor Syntax</h1>

...

Теперь после запуска приложенияи перехода поссылке

https://localhost:5001/Home/RazorSyntax
вы увидите на вкладке браузера заголовок Razor Syntax —
AutoLot.Mvc
(Синтаксис Razor —
AutoLot.Mvc
).

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

Вспомогательные функции дескрипторов являются новым средством, введенным в версии ASP.NET Core. Вспомогательная функция дескриптора (tag helper) — это разметка (специальный дескриптор или атрибут в стандартном дескрипторе), представляющий код серверной стороны, который затем помогает сформировать выпускаемую HTML-разметку Они значительно совершенствуют процесс разработки и улучшают читабельность представлений MVC.

В отличие от вспомогательных функций HTML, которые вызываются как методы Razor, вспомогательные функции дескрипторов представляют собой атрибуты, добавляемые к стандартным HTML-элементам или автономным специальным дескрипторам. В случае использования для разработки среды Visual Studio появляется дополнительное преимущество в виде средства IntelliSense, которое отображает подсказки по встроенным вспомогательным функциям дескрипторов.

Например, показанная ниже вспомогательная функция HTML создает метку для свойства

FullName
заказчика:

@Html.Label("FullName","Full Name:",new {@class="customer"})

В итоге генерируется следующая HTML-разметка:

<label class="customer" for="FullName">Full Name:</label>

По всей видимости, синтаксис вспомогательных функций HTML хорошо понятен разработчикам на языке С#, применяющим ASP.NET МУС и Razor. Но его нельзя считать интуитивно понятным, особенно для тех, кто имеет дело с HTML/CSS/JavaScript, но не с языком С#.

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

<label class="customer" asp-for="FullName">Full Name:</label>

Она производит тот же самый вывод, но вспомогательные функции дескрипторов благодаря своей интеграции с дескрипторами HTML удерживают разработчика "в рамках разметки".

Существует множество встроенных вспомогательных функций дескрипторов, которые предназначены для применения вместо соответствующих им вспомогательных функций HTML. Однако не все вспомогательные функции HTML имеют ассоциированные вспомогательные функции дескрипторов. В табл. 31.2 перечислены самые распространенные вспомогательные функции дескрипторов, соответствующие им вспомогательные функции HTML и доступные атрибуты. Они будут раскрыты более подробно в оставшейся части главы.

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

Вспомогательные функции дескрипторов потребуется сделать видимыми любому коду, где их желательно использовать. Файл

_ViewImports.html
из стандартного шаблона уже содержит следующую строку:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

Строка делает все вспомогательные функции дескрипторов из сборки

Microsoft.AspNetCore.Mvc.TagHelpers
(содержащей все встроенные вспомогательные функции дескрипторов) доступными всем представлениям на уровне каталога с файлом
_ViewImports.cshtml
и ниже него в иерархии каталогов.

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

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

<form>
) заменяет вспомогательные функции HTML с именами
Html.BeginForm
и
Html.BeginRouteForm
. Скажем, чтобы создать форму, которая отправляет версию действия
Edit
для НТТР-метода POST контроллера
CarsController
с одним параметром (
Id
), потребуется следующий код и разметка:

<form method="post" asp-controller="Cars" asp-action="Edit"

Поделиться:
Популярные книги

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Вираж бытия

Ланцов Михаил Алексеевич
1. Фрунзе
Фантастика:
героическая фантастика
попаданцы
альтернативная история
6.86
рейтинг книги
Вираж бытия

На границе империй. Том 10. Часть 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 3

Лорд Системы 14

Токсик Саша
14. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 14

Все еще не Герой!. Том 2

Довыдовский Кирилл Сергеевич
2. Путешествие Героя
Фантастика:
боевая фантастика
юмористическое фэнтези
городское фэнтези
рпг
5.00
рейтинг книги
Все еще не Герой!. Том 2

Кровь, золото и помидоры

Распопов Дмитрий Викторович
4. Венецианский купец
Фантастика:
альтернативная история
5.40
рейтинг книги
Кровь, золото и помидоры

Live-rpg. эволюция-5

Кронос Александр
5. Эволюция. Live-RPG
Фантастика:
боевая фантастика
5.69
рейтинг книги
Live-rpg. эволюция-5

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Граф Рысев

Леха
1. РОС: Граф Рысев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Граф Рысев

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

Не верь мне

Рам Янка
7. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Не верь мне

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Физрук: назад в СССР

Гуров Валерий Александрович
1. Физрук
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Физрук: назад в СССР

Истинная поневоле, или Сирота в Академии Драконов

Найт Алекс
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов