Как решить «Имя ViewData» не существует в текущем контексте » - PullRequest
0 голосов
/ 27 июня 2011

Когда я пытаюсь передать данные в мое представление из контроллера, используя ViewData, я получаю ошибку в заголовке, когда ссылаюсь на свойство ViewData в моем представлении

Я использую движок Razor View, есть несколькопосты вокруг, связанные с этим, но они, кажется, имеют отношение к реализации веб-форм

Я подозреваю, что есть проблема с тем, как упоминается Razor: мой конфигурационный файл имеет ряд предупреждений:

enter image description here

Эти ссылки на типы являются предупреждением: недопустимая квалификация модуля: невозможно разрешить сборку System.Web.WebPages.Razor

Общие вещи MVC работают нормально (с использованием только ссылок на модели), но пытаютсяполучить доступ к ViewData - не повезло

1 Ответ

2 голосов
/ 27 июня 2011

В MVC3 был добавлен ViewBag.Это просто динамическая оболочка вокруг ViewData.Теперь вы можете использовать что-то вроде этого:

ViewBag.Title = "Test"; 

Одним из замечательных преимуществ использования ViewBag над ViewData является то, что нам не нужно приводить ViewBag.Date к DateTime, ViewBag.Post к Post и ViewBag.Теги к массиву строк, прежде чем использовать их как таковые.Это уменьшает шум в представлении.

Но, как сказал Дарин в комментарии, лучше использовать строго типизированные представления.

Ошибки, которые вы получаете в web.config, не связанык этому.Однако я не уверен, какова точная причина этих ошибок, но похоже, что это не влияет на запуск приложения.

...