У меня было рабочее решение, использующее ASP.NET MVC Preview 3 (было обновлено с решения Preview 2), в котором используется нетипизированный ViewMasterPage, например:
public partial class Home : ViewMasterPage
На Home.Master есть оператор отображения, подобный этому:
<%= ((GenericViewData)ViewData["Generic"]).Skin %>
Однако разработчик в команде просто изменил ссылки на сборки на Preview 4.
После этого код больше не будет заполнять ViewData индексированными значениями, как указано выше.
Вместо этого ViewData ["Generic"] имеет значение null.
Согласно этот вопрос , ViewData.Eval ("Generic") работает, и ViewData.Model также заполняется правильно.
Однако причина, по которой это решение не использует печатные страницы и т. Д., Заключается в том, что это своего рода устаревшее решение. Поэтому нецелесообразно проходить через это довольно большое решение и обновлять все страницы .aspx (особенно если компилятор не обнаруживает подобные вещи).
Я попытался отменить сборку, удалив ссылку, а затем добавив ссылку на сборку Preview 3 в папку «bin» проекта. Это ничего не изменило. Я даже пытался вернуть файл Project в более раннюю версию, но это все еще не решало проблему.
У меня есть другие решения, использующие ту же технику, которые продолжают работать.
Есть ли что-нибудь, что вы можете предложить относительно того, почему это внезапно перестало работать и как я мог бы исправить это (любой намек в правильном направлении был бы оценен)?