条件属性 - Asp.Net MVC视图

时间:2008-11-27 16:26:29

标签: asp.net-mvc

我要求添加条件禁用&类属性到下拉表单元素。我有以下,但它没有写出任何状态的任何属性。有没有办法解决这个问题。

<%=  Html.DropDownList("--Choose Make--", "models", ViewData["model_disabled"] == "false" ? new { @disabled = "disabled", @class = "test" } : null)%>  

1 个答案:

答案 0 :(得分:2)

问题是:

ViewData["model_disabled"] == "false"

ViewData []的返回是对象。使用两个对象调用==会比较它们的身份(即,它们是完全相同的对象实例),而不是它们的相等性(即,字符串是相同的值)。

你可以试试这个:

((string)ViewData["model_disabled"]) == "false"

修改

MvcContrib ViewData扩展程序提供了稍微清晰的语法:

ViewData.Get<string>("model_disabled") == "false"

虽然这感觉有点干净,但你也会发现它稍微长一些。 :-P