我尝试在stackoverflow上发布了几个答案。但是,以下似乎不起作用:
@Html.TextArea("Comments", Model.Comments, Model.ReadOnly ? new { @disabled = "disabled"} : null)
我也尝试过:
@Html.TextArea("Comments", Model.Comments, Model.ReadOnly ? new { disabled = "disabled"} : null)
知道我做错了什么吗?
答案 0 :(得分:0)
我不认为MVC在这里喜欢null
。您需要的第三个参数(期望object
)是默认的空匿名实例而不是null
:
Model.ReadOnly ? (object)new { disabled = "disabled" } : (object)new { }
答案 1 :(得分:0)
我会使用自定义变量来设置它。我不认为条件在HtmlHelper的参数中是可以接受的。
@{
var htmlAttributes = Model.ReadOnly ? new { disabled = "disabled" } : null;
}
@Html.TextArea("Comments", Model.Comments, htmlAttributes)
答案 2 :(得分:0)
尝试在括号中包装三元操作
@Html.TextArea("Comments", Model.Comments, (Model.ReadOnly ? new { @disabled = "disabled"} : null) )