我想根据asp.net MVC中的Html.TextBoxFor条件设置disable属性,如下所示
@Html.TextBoxFor(model => model.ExpireDate, new { style = "width: 70px;", maxlength = "10", id = "expire-date" disabled = (Model.ExpireDate == null ? "disable" : "") })
这个帮助器有两个输出disabled="disabled“或disabled="”。这两个主题都会禁用文本框。
如果Model.ExpireDate ==为空,我想禁用textbox,否则我想启用它
发布于 2015-03-25 13:18:33
实际上,内部行为是将匿名对象转换为字典。所以我在这些场景中所做的就是去找一本字典:
@{
var htmlAttributes = new Dictionary<string, object>
{
{ "class" , "form-control"},
{ "placeholder", "Why?" }
};
if (Model.IsDisabled)
{
htmlAttributes.Add("disabled", "disabled");
}
}
@Html.EditorFor(m => m.Description, new { htmlAttributes = htmlAttributes })
或者,正如斯蒂芬评论的那样,here
@Html.EditorFor(m => m.Description,
Model.IsDisabled ? (object)new { disabled = "disabled" } : (object)new { })
发布于 2011-07-12 18:15:50
我喜欢Darin方法。但快速解决这个问题的方法是,
Html.TextBox("Expiry", null, new { style = "width: 70px;", maxlength = "10", id = "expire-date", disabled = "disabled" }).ToString().Replace("disabled=\"disabled\"", (1 == 2 ? "" : "disabled=\"disabled\""))
发布于 2014-12-11 03:14:45
我使用的一种简单方法是条件渲染:
@(Model.ExpireDate == null ?
@Html.TextBoxFor(m => m.ExpireDate, new { @disabled = "disabled" }) :
@Html.TextBoxFor(m => m.ExpireDate)
)
https://stackoverflow.com/questions/6660146
复制相似问题