Как создать текст только для чтения с помощью помощника HTML в asp.net MVC?

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

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

или

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

Они оба не работают. какое решение?

24
задан 15.05.2020, 18:22

3 ответа

Или это:

<%= Html.TextBox("ID", Model.ID, new { @disabled="true" })%>
2
ответ дан 15.05.2020, 18:23

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

5
ответ дан 15.05.2020, 18:24
  • 1
    Не уверенный, почему, но это, " будьте частью Модели, когда механизм смоделирует, привязывают, отправляют " , не работает, для меня, на MVC 5. Для int, например, я всегда добираюсь 0. Если я использую это - > @Html.TextBoxFor(m => m.ID, new { @readonly = "readonly" }) это работает как ожидалось. Я не сделал DownVote так как я can' t проверяют это I' m не проблема здесь. – Refracted Paladin 15.05.2020, 18:24

Попробуйте

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

вместо

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

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

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

7
ответ дан 15.05.2020, 18:25
  • 1
    Кажется, что это изменилось и что 3-й параметр htmlAttributes. – mattruma 15.05.2020, 18:25

Теги

Похожие вопросы