#html #asp.net-mvc
#HTML #asp.net-mvc
Вопрос:
Вместо того, чтобы жестко указывать «disabled =»true»» в элементе TextBoxFor, я хочу, чтобы он был извлечен из модели. Свойство модели (Model.InvoicedApprovedBy) будет установлено значение «» (включено) или «отключено =»отключено» (отключено)
<%= Html.TextBoxFor(m => m.WorkingModel.Detail.ApprovedBy, new { id = "InvoiceApprovedBy", disabled="true", style = "width: 203px; " })%>
Я хочу сделать что-то вроде этого:
<%= Html.TextBoxFor(m => m.WorkingModel.Detail.ApprovedBy, new { id = "InvoiceApprovedBy", Model.InvoicedApprovedBy, style = "width: 203px; " })%>
Он устанавливает html-атрибут с именем «InvoicedApprovedBy» вместо того, чтобы просто помещать в него строку «disabled =»disabled»». Как мне заставить его разместить строку?
Ответ №1:
<%= Html.TextBoxFor(m => m.WorkingModel.Detail.ApprovedBy, new { id = "InvoiceApprovedBy", disabled = Model.InvoicedApprovedBy, style = "width: 203px; " })%>
Вам не нужно будет устанавливать для свойства модели значение «отключено = отключено», просто «отключено».
Комментарии:
1. В этом случае элемент всегда будет отключен. Я также хочу иметь возможность не иметь «disabled =».
2. Вам придется стать уродливым: <тип ввода=»текст» @(Модель. Отключено ? «disabled= отключено» : «») /> для этого вам понадобится bool.