Книга: ASP.NET MVC Framework
Текстовые поля, скрытые поля и кнопки
Текстовые поля, скрытые поля и кнопки
Вспомогательные методы для генерации текстовых полей, скрытых полей и кнопок работают по общему принципу — первым параметром передается идентификатор, который будет использован для создаваемого HTML-элемента и на основании которого сопоставляется значение элемента управления и создается пара ключ-значение при отправке данных формы на сервер.
<%= Html.TextArea("myText", "Hello world!") %>
В отличие от метода Html.BeginForm
, выводящего строковые значения непосредственно в выходной буфер ответа пользователю, вспомогательные методы элементов управления возвращают строку, поэтому для них нужно использовать синтаксис <%= %>
. Тогда в разметку страницы будет выведена соответствующая строка.
<textarea cols="20" name="myText" rows="2">
la-la-la-la-la-la-la</textarea>
Для создания дополнительных атрибутов вспомогательным методам необходимо передать анонимный объект.
<%= Html.TextBox("myTextBox", "", new {,
@class="helloWorld" })%>
Поскольку в качестве имени свойства анонимного объекта нельзя использовать зарезервированные ключевые слова языка C#, то перед такими именами свойств нужно добавить символ @. В результирующий вывод свойство @class
войдет как class
, без символа @.
<input
name="myTextBox" type="text" value="" />
Особым случаем является вспомогательный метод Html.CheckBox
, поскольку он создает два HTML-элемента управления. Непосредственно элемент "флажок" и "скрытое поле".
<%= Html.CheckBox("myCheckBox", true) %>
Поскольку в случае если элемент управления не будет отмечен пользователем, то его значение на сервер не передается, поэтому необходимо использование скрытого поля.
<input checked="checked" name="myCheckBox"
type="checkbox" value="true" />
<input name="myCheckBox" type="hidden" value="false" />
Стоит отметить, каким образом присваиваются значения элементам управления. При генерации разметки для элемента управления myTextBox
механизм представления сначала проверит наличие значения в коллекции ViewData.ModelState
для элемента с именем myTextBox
: ViewData.ModelState["myTextBox"].Value.RawValue
, затем будет использовано значение, переданное в качестве параметра вспомогательному методу. В случае если вспомогательному методу не было передано параметров, то будет осуществлена попытка найти значение в коллекции ViewData
: ViewData.Eval("myTextBox")
. Подробнее о коллекции ModelState
рассказано в разделе, посвященном проверке значений элементов управления.
- 12.4.4. Текстовые поля
- Текстовые поля
- 12.3.4. Текстовые поля
- 2.6. Термостабилизация режима каскада на биполярном транзисторе
- Использование кнопки Автосумма
- Текстовые сообщения процедуры POST
- Исчезла Панель задач – нет часов, свернутых программ, кнопки Пуск
- Как разместить значки возле кнопки Пуск?
- На Панели быстрого запуска возле кнопки меню Пуск вмещается всего три значка. Как увеличить ее емкость?
- Текстовые форматы и кодировки, или Почему иногда вместо текста я вижу абракадабру?
- Файлы без расширения, как правило, текстовые. Как сделать, чтобы при двойном щелчке кнопкой мыши они открывались в Блокн...
- В Диспетчере задач пропали все вкладки, кнопки и пункты меню