Условные атрибуты - Asp.Net MVC View - PullRequest
1 голос
/ 27 ноября 2008

У меня есть требование добавить условно отключенные атрибуты и атрибуты класса в элемент раскрывающейся формы. У меня есть следующее, однако он не записывает ни один из атрибутов в любом состоянии. Есть ли способ обойти это.

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

1 Ответ

2 голосов
/ 27 ноября 2008

Проблема:

ViewData["model_disabled"] == "false"

Возвращение из ViewData [] является объектом. Вызов == с двумя объектами сравнивает их идентичность (т. Е. Являются ли они точно таким же экземпляром объекта), а не их равенство (т. Е. Строки имеют одинаковое значение).

Вы можете попробовать это вместо:

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

Edit:

Немного более чистый синтаксис доступен с расширениями MvcContrib ViewData:

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

Хотя это выглядит немного чище, но вы также заметите, что оно немного длиннее. : -Р

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...