2014-12-10 2 views

ответ

1

Использование

@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) 
..... 
+0

есть возможность выполнить условие внутри нового {}, потому что у меня много свойств в моем коде – david

+0

Короткий ответ НЕТ. Но какая разница в этом - его по-прежнему то же количество кода –

+0

это полная строка, как он будет оставаться на том же количестве кода, я удаляю некоторые @, потому что сайт не позволяет мне писать его @ Html.TextBoxFor (m = > m.kidsNumber, new {@class = "textBox1", type = "number", min = "1", max = "30", id = "kidsNumber", name = "kidsNumber", disabled = (Model.kidsDropDown == "2"? "": "")}) – david

-1

Вы не сказали, какой атрибут вы хотите установить ::

вы код без атрибуты и вы должны использовать использовать только для чтения, а не потому, что инвалиды поле не размещаемое на форме представить

@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" : "")}) 
+0

Это добавит 'disabled' (или 'readonly'), независимо от значения' Model.kidsDropDown' - '' и '' будет делать текстовое поле отключено. –

+0

Вы скопировали мой ответ, чтобы правильно добавить 'disabled', но не сделали это для атрибута' readonly'! –

Смежные вопросы