Как создать текст только для чтения с помощью помощника HTML в asp.net MVC? - PullRequest
23 голосов
/ 20 июля 2009

Я хочу отключить текстовое поле в представлении. Поэтому я использую следующий код:

<%= Html.TextBox("ID", Model.ID, new { readonly="true" })%>

или

<%= Html.TextBox("ID", Model.ID, new { enable="false" })%>

Оба они не работают. в чем решение?

Ответы [ 6 ]

51 голосов
/ 20 июля 2009

Попробуйте

<%= Html.TextBox("ID", Model.ID, new { @readonly="readonly" })%>

Я не уверен, что вы должны использовать перегрузку с 4 параметрами. Вы должны быть в состоянии использовать один с 3, но вам нужно добавить @ к readonly, так как readonly - это ключевое слово в C #. И установка @readonly на readonly соответствует XHTML.

7 голосов
/ 20 июля 2009

Попробуйте

<%= Html.TextBox("ID", Model.ID, null, new { @readonly="true" })%>

вместо

<%= Html.TextBox("ID", Model.ID, new { @readonly="true" })%>

Если вы посмотрите документацию , вы увидите, что третий параметр не htmlAttributes, как вы, вероятно, ожидали.

Вам необходимо использовать перегрузку с четырьмя параметрами .

6 голосов
/ 24 октября 2012

Используя более современный API, вы можете использовать:

Механизм веб-форм:

<%= Html.TextBoxFor(m => m.ID, new { @readonly = "readonly" }) %>

Двигатель бритвы:

@Html.TextBoxFor(m => m.ID, new { @readonly = "readonly" })

Приветствие.

5 голосов
/ 31 января 2012

Если вы не обязаны показывать текстовое поле только для чтения на своей веб-странице, рассмотрите возможность использования помощника @Html.DisplayFor: ваш вывод будет доступен только для чтения (на самом деле это будет просто текст в элементе div) и будет частью модели когда двигатель будет привязываться к модели при отправке.

5 голосов
/ 31 января 2012

Имейте в виду, что отключено TextBox не будет отправлен с HTML-формой, но только для чтения TextBox будет.

MVC3 документация показывает подпись в виде Html.TextBox (имя строки, значение объекта, объект htmlAttributes), использованного выше.

2 голосов
/ 25 ноября 2010

Или это:

<%= Html.TextBox("ID", Model.ID, new { @disabled="true" })%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...