Тег-хелпер формы¶
Для создания HTML-формы нужен элемент <form>. Дополним его атрибутом asp-page:
Тем самым в конечный HTML-код добавятся атрибуты
action и method:установка атрибута
asp-page позволяет указать другую страницу Razor, на которую будет отправляться содержимое формы. По умолчанию для обработки формы используется та же страница, что и для отображения. Однако важно помнить, что, если убрать атрибут asp-page, то необходимо добавить атрибут method самостоятельно, иначе (по умолчанию) будет использоваться метод GET, что чревато угрозой безопасности.Атрибут
asp-page добавляется с помощью FormTagHelper, который использует использует предоставленное значение, чтобы создать URL-адрес для атрибута action с использованием функции маршрутизации.Предположим, у нас есть страница Product.cshtml, использующая директиву
@page {id}, при которой полный шаблон маршрута будет "Product/{id}". Чтобы указать значение {id}, необходимо использовать атрибут asp-route-*, где вместо звёздочки подставить имя параметра, в данном случае asp-route-id. Например, мы хотим передать значение 5:что создаст разметку
При этом можно использовать столько атрибутов
asp-route-*, сколько нужно, чтобы сгенерировать правильный адрес для атрибута action. Также можно использовать атрибут asp-page-handler для указания конкретного обработчика страницы.В тег-хелперах, как в других конструкциях Razor, можно использовать значения C#:
Помимо основной задачи — создания атрибута
action, тег-хелпер формы создает скрытое поле <input> для предотвращения межсайтовой подделки запросов1. Это поведение можно отключить, добавив атрибут asp-antiforgery="false".
Последнее обновление :
20 апреля 2023 г.
Дата создания : 27 сентября 2022 г.
Дата создания : 27 сентября 2022 г.