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:

@Html.ActionLink("About this Website", "About")

Синтаксис ASP:

<%=Html.ActionLink("About this Website", "About")%>

Первый параметр — это текст ссылки, а второй параметр — имя действия контроллера.

Приведённый выше хелпер 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#:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

Синтаксис Razor VB:

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

Приведённый выше хелпер Html.ActionLink() выводит следующий HTML:


Элементы HTML-формы

Следующие элементы HTML-форм можно использовать для отображения (изменения и вывода) элементов HTML-форм:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

Синтаксис ASP.NET C#:

<%= Html.ValidationSummary("Создание не удалось. Пожалуйста, исправьте ошибки и попробуйте снова.") %>
<% 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>
<%}%>


Другие расширения