Я хочу инвалидов атрибут добавляется в текстовое поле на основе состоянияСостояние HTML помощника не работает
@Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})
Я хочу инвалидов атрибут добавляется в текстовое поле на основе состоянияСостояние HTML помощника не работает
@Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})
Использование
@Html.TextBoxFor(m => m.kidsNumber, Model.kidsDropDown != "2" ? new {disabled = "disabled"} : null)
Обратите внимание также, если вам нужно добавить несколько атрибутов, то он должен быть в формате (где атрибуты отлиты к object
@Html.TextBoxFor(m => m.kidsNumber, Model.kidsDropDown != "2" ? (object)new { @disabled = "disabled", @class="form-control" } : (object)new { @class="form-control" })
Если у вас есть несколько текстовых полей, которые используют одни и те же наборы атрибутов, вы можете назначить их переменные в представлении
@{
object number = new { @type = "number", @class="form-control" };
object disabledNumber = new { @disabled = "disabled", @class="form-control" };
}
и в виде
@Html.TextBoxFor(m => m.kidsNumber, Model.kidsDropDown != "2" ? disabledNumber : number)
@Html.TextBoxFor(m => m.anotherProperty, AnotherCondition ? disabledNumber : number)
.....
Вы не сказали, какой атрибут вы хотите установить ::
вы код без атрибуты и вы должны использовать использовать только для чтения, а не потому, что инвалиды поле не размещаемое на форме представить
@Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})
Для атрибута Выключен ::
@Html.TextBoxFor(m => m.kidsNumber, Model.kidsDropDown != "2" ? new {disabled = "disabled"} : null)
Для чтения используйте что-то вроде ::
@Html.TextBoxFor(m => m.kidsNumber, new { @readonly= (Model.kidsDropDown != "2" ? "readonly" : "")})
Это добавит 'disabled' (или 'readonly'), независимо от значения' Model.kidsDropDown' - '' и '' будет делать текстовое поле отключено. –
Вы скопировали мой ответ, чтобы правильно добавить 'disabled', но не сделали это для атрибута' readonly'! –
есть возможность выполнить условие внутри нового {}, потому что у меня много свойств в моем коде – david
Короткий ответ НЕТ. Но какая разница в этом - его по-прежнему то же количество кода –
это полная строка, как он будет оставаться на том же количестве кода, я удаляю некоторые @, потому что сайт не позволяет мне писать его @ Html.TextBoxFor (m = > m.kidsNumber, new {@class = "textBox1", type = "number", min = "1", max = "30", id = "kidsNumber", name = "kidsNumber", disabled = (Model.kidsDropDown == "2"? "": "")}) – david