Проблема:
ViewData["model_disabled"] == "false"
Возвращение из ViewData [] является объектом. Вызов == с двумя объектами сравнивает их идентичность (т. Е. Являются ли они точно таким же экземпляром объекта), а не их равенство (т. Е. Строки имеют одинаковое значение).
Вы можете попробовать это вместо:
((string)ViewData["model_disabled"]) == "false"
Edit:
Немного более чистый синтаксис доступен с расширениями MvcContrib ViewData:
ViewData.Get<string>("model_disabled") == "false"
Хотя это выглядит немного чище, но вы также заметите, что оно немного длиннее. : -Р