[asp.net-mvc]不工作的 html 帮助器的条件

标签: html5 Asp.net-MVC
发布时间: 2016/10/8 0:52:08
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要将禁用的属性添加到文本框中,根据某一条件

 @Html.TextBoxFor(m => m.kidsNumber, new { (Model.kidsDropDown != "2") ? "@disabled" : ""})

解决方法 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)
.....
赞助商