我要求添加条件禁用&类属性到下拉表单元素。我有以下,但它没有写出任何状态的任何属性。有没有办法解决这个问题。
<%= Html.DropDownList("--Choose Make--", "models", ViewData["model_disabled"] == "false" ? new { @disabled = "disabled", @class = "test" } : null)%>
答案 0 :(得分:2)
问题是:
ViewData["model_disabled"] == "false"
ViewData []的返回是对象。使用两个对象调用==会比较它们的身份(即,它们是完全相同的对象实例),而不是它们的相等性(即,字符串是相同的值)。
你可以试试这个:
((string)ViewData["model_disabled"]) == "false"
修改
MvcContrib ViewData扩展程序提供了稍微清晰的语法:
ViewData.Get<string>("model_disabled") == "false"
虽然这感觉有点干净,但你也会发现它稍微长一些。 :-P