剃刀视图 - C# - 禁用只读文本框
本文关键字:只读 文本 视图 剃刀 | 更新日期: 2023-09-27 18:36:01
我尝试了在stackoverflow上发布的几个答案。但是,以下内容似乎不起作用:
@Html.TextArea("Comments", Model.Comments, Model.ReadOnly ? new { @disabled = "disabled"} : null)
我也试过:
@Html.TextArea("Comments", Model.Comments, Model.ReadOnly ? new { disabled = "disabled"} : null)
知道我做错了什么吗?
我会使用自定义变量来设置它。我不认为条件在 HtmlHelper 的参数中是可以接受的。
@{
var htmlAttributes = Model.ReadOnly ? new { disabled = "disabled" } : null;
}
@Html.TextArea("Comments", Model.Comments, htmlAttributes)
我不认为MVC喜欢这里的null
。您需要作为第三个参数(它需要object
)是一个默认的空匿名实例,而不是null
:
Model.ReadOnly ? (object)new { disabled = "disabled" } : (object)new { }
尝试将三元运算包装在括号中
@Html.TextArea("Comments", Model.Comments, (Model.ReadOnly ? new { @disabled = "disabled"} : null) )