MVC 3:有条件地使用HtmlHelpers添加Disabled属性
我有一个ASP.Net MVC 3 Web应用程序,并且正在使用HtmlHelper类向视图页面添加一个复选框,如下所示: @Html.CheckBox("CheckBox1", true, new { @class = "Class1" }) 我想做的是有条件地基于视图状态属性添加禁用的属性。基本上,以下将是理想的... @Html.CheckBox("CheckBox1", true, new { @class = "Class1", @disabled = Model.ReadOnly }) 不幸的是,由于禁用属性的性质,这将不起作用,因为分配给禁用属性的任何值(甚至是“ false”)都将转换为true。 我已经想到了一些解决此问题的方法,所以问题不在于我该怎么做。但是,有没有像上面所需的方法这样的简单方法?还是我必须采取以下措施之一? 我知道我能做的... 创建一个if / else语句并写入不同的Html.CheckBox行(对于可读性不是很好-可能会抛出标记警告-不确定) 跳过HtmlHelper类,然后手写标记以提供更好的条件属性(使代码保持较短,但会增加不一致性) 创建一个带有“ disabled”参数的自定义帮助程序(最干净的解决方案,但需要不需要的额外方法-到目前为止可能是最好的选择)