Строго типизированные представления в ASP.NET MVC 2.0 Preview 2 больше не работают - PullRequest
1 голос
/ 12 октября 2009

У меня был работающий проект ASP.NET MVC 1.0 со строго типизированными представлениями. Они больше не работают после обновления до ASP.NET MVC 2.0 Preview 2.

Свойство Model теперь является Object вместо запрошенного типа.

У меня есть это:

<%@ Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<TechHelp.Core.Models.Ticket>>" %>

Я получаю

CS1579: оператор foreach не может работать с переменными типа «объект», поскольку «объект» не содержит открытого определения для «GetEnumerator»

Редактировать Кто-нибудь знает, почему это не сработает?

Ответы [ 2 ]

3 голосов
/ 12 октября 2009
0 голосов
/ 30 июня 2010

У нас было то же самое в ASp.Net MVC2 (выпущенная версия). Все строго типизированные представления считали, что они работают с типом «Объект» вопреки объявлению в верхней части файла. Если представления были скомпилированы заранее, они не смогли скомпилироваться. Если нет, то они потерпели неудачу при обращении к странице.

Проект был на VS2010 и Asp.Net 2.0, первоначально обновленных с VS2008 и ASP.Net 1.0. В новом проекте Asp.Net MVC не было тех же проблем, но после копирования кода в новое решение снова возникли те же проблемы.

Причина в том, что процесс обновления изменил ссылки проекта с ASP.Net MVC 1.0 на ASP.Net MVC 2.0, но файлы web.config все еще ссылались на ASP.Net MVC 1.0. Обновив их, чтобы они соответствовали согласно инструкциям и добавив в bindingRedirect, это решило проблему.

...