Как добавить логический атрибут в asp.net mvc? - PullRequest
0 голосов
/ 09 апреля 2010

Я пытаюсь вывести следующий html с помощью html helper в asp.net mvc 2:

<input type="text" id="Name" name="Name" value="" autofocus />

Я сейчас использую этот код:

<%= Html.TextBoxFor(x => x.Name) %>

и я попробовал

// results in <input ... autofocus="" />
<%= Html.TextBoxFor(x => x.Email, new { autofocus="" }) %>

// does not compile
<%= Html.TextBoxFor(x => x.Email, new { autofocus=null }) %>

Есть ли способ выполнить то, что я ищу, с помощью помощника HTML?

Ответы [ 3 ]

1 голос
/ 09 апреля 2010

Помощники HTML генерируют XHTML. То, что вы пытаетесь достичь, это:

  1. Не XHTML (атрибуты должны иметь значения, даже пустые)
  2. Не стандарт W3C (без атрибута autofocus для входного тега)

Если вы хотите сгенерировать такую ​​разметку, вам нужно будет сделать это вручную или написать собственного помощника.

1 голос
/ 09 апреля 2010

Я думаю, вам придется написать свой помощник для этого. Помощники по умолчанию выводят пары ключ / значение. Под капотом он использует TagBuilder для создания тега. Для атрибутов тега используется формат {0}="{1}" для форматирования пар ключ / значение для атрибутов и их значений.

0 голосов
/ 16 февраля 2012

Я знаю, что это давно и далеко, но не было старого правила, по которому вы могли бы ввести такие атрибуты, как

требуется = "требуется"

Похоже, что это работает в FireFox, Chrome и Opera, но не в Safari и, конечно, IE8, который является стандартом моей компании (очередь тромбон ... Ваа, ваа, ваа.;)

...