我希望将disabled属性添加到基于条件
的文本框中 @Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})
答案 0 :(得分: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)
.....
答案 1 :(得分:-1)
您尚未说明要设置的属性::
您的代码没有属性,您应该使用 请改用readonly,因为已禁用的字段未在表单提交
上发布@Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})
对于Disabled属性Use ::
@Html.TextBoxFor(m => m.kidsNumber, Model.kidsDropDown != "2" ? new {disabled = "disabled"} : null )
对于readonly使用类似::
的东西@Html.TextBoxFor(m => m.kidsNumber, new { @readonly= (Model.kidsDropDown != "2" ? "readonly" : "")})