ASP.NET MVC - HTML-помощники
HTML-помощники используются для изменения HTML-вывода.
HTML-помощники
В MVC HTML-помощники похожи на традиционные элементы управления ASP.NET Web Forms.
Как и элементы управления Web Forms в ASP.NET, HTML-помощники используются для изменения HTML. Однако HTML-помощники более легковесны. В отличие от элементов управления Web Forms, HTML-помощники не имеют модели событий и состояния представления.
В большинстве случаев HTML-помощник — это просто метод, возвращающий строку.
В MVC вы можете создавать свои собственные помощники или напрямую использовать встроенные HTML-помощники.
Стандартные HTML-хелперы
MVC включает стандартные хелперы для большинства часто используемых типов HTML-элементов, таких как HTML-ссылки и элементы HTML-форм.
HTML-ссылки
Самый простой способ отобразить HTML-ссылку — использовать хелпер Html.ActionLink().
В MVC Html.ActionLink() не ссылается на представление. Он создаёт ссылку на действие контроллера.
Синтаксис Razor:
Синтаксис ASP:
Первый параметр — это текст ссылки, а второй параметр — имя действия контроллера.
Приведённый выше хелпер Html.ActionLink() выводит следующий HTML:
Некоторые атрибуты вспомогательного метода Html.ActionLink():
| Attribute | Описание |
|---|---|
| .linkText | Текст URL (метка), внутренний текст элемента-якоря. |
| .actionName | Имя действия. |
| .routeValues | Значение, передаваемое действию, — объект, содержащий параметры маршрута. |
| .controllerName | Имя контроллера. |
| .htmlAttributes | Настройки атрибутов URL — объект, содержащий HTML-атрибуты, которые нужно задать для элемента. |
| .protocol | Протокол URL, например "http" или "https". |
| .hostname | Имя хоста URL. |
| .fragment | Имя фрагмента URL (имя якоря). |
Примечание:Вы можете передавать значения в действие контроллера. Например, можно передать идентификатор записи базы данных в действие Edit базы данных:
Синтаксис Razor C#:
Синтаксис Razor VB:
Приведённый выше хелпер Html.ActionLink() выводит следующий HTML:
Элементы HTML-формы
Следующие элементы HTML-форм можно использовать для отображения (изменения и вывода) элементов HTML-форм:
- BeginForm()
- EndForm()
- TextArea()
- TextBox()
- CheckBox()
- RadioButton()
- ListBox()
- DropDownList()
- Hidden()
- Password()
Синтаксис ASP.NET C#:
<% using (Html.BeginForm()){%>
<p>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
</p>
<p>
<input type="submit" value="Зарегистрироваться" />
</p>
<%}%>
Другие расширения