2010-09-29 2 views
1

Недавно мы обновили проект до MVC 2, и мы хотели бы использовать области, но есть проблема.ASP.Net MVC 2 Области: частичный вид «...» не найден

Мы создали новую область, установили контроллер, настроили маршрут и создали представление в нужном месте. Когда мы запускаем код, он успешно находит маршрут и попадает в контроллер, но когда он идет, чтобы визуализировать представление, есть исключение.

Механизм просмотра веб-форм, похоже, не просматривается в разделе «Области» для просмотра. Ошибка мы наблюдаем:

~/Views/<ControllerName>/<ViewName>.aspx 
~/Views/<ControllerName>/<ViewName>.ascx 
~/Views/Shared/<ViewName>.aspx 
~/Views/Shared/<ViewName>.ascx 

Когда он должен быть:

~/<AreaName>/Views/<ControllerName>/<ViewName>.aspx 
~/<AreaName>/Views/<ControllerName>/<ViewName>.ascx 
~/<AreaName>/Views/Shared/<ViewName>.aspx 
~/<AreaName>/Views/Shared/<ViewName>.ascx 
~/Views/<ControllerName>/<ViewName>.aspx 
~/Views/<ControllerName>/<ViewName>.ascx 
~/Views/Shared/<ViewName>.aspx 
~/Views/Shared/<ViewName>.ascx 

Это будет означать, что это все-таки каким-то образом с помощью DLL MVC 1, но мы рассмотрели тщательно и может найти только ссылки на V2 MVC (была ссылка V1 в xVal, сторонняя DLL, но исправление, которое не имело значения).

Я могу только представить себе, что мы что-то пропустили, когда сделали обновление, или что у нас есть необычный край, потому что в Интернете нет ничего, что соответствует проблеме, которую мы испытываем.

Что мы можем рассмотреть, что может помочь нам решить эту проблему?

Заранее благодарим за предоставленную помощь. Cheers, Zac

+0

Я согласен с вами в том, что он указывает, что вы как-то указываете на MVC 1. Что вы сделали, чтобы убедиться, что вы указываете на MVC 2? –

+0

@steve, «ViewlocationsFormats» определяются как OP, описанные в MVC 2. @Zac - вы зарегистрировали свои маршруты? – Ahmad

+0

@ Zac - Вы уверены, что список «должен быть»? – Ahmad

ответ

2

Какие вещи мы могли бы смотреть на это может помочь нам решить эту проблему?

  1. Убедитесь, что Маршруты района являются зарегистрированными AreaRegistration.RegisterAllAreas(); зарегистрировано первым. Необходимо также зарегистрировать маршруты в районе.
  2. Убедитесь, сгенерированные URL ссылка имеет названия площади включена в качестве одного из аргументов при использовании ActionLink и другие связанными с этими помощниками URL
  3. Иногда просто удалить и повторно добавить Район с нуля. Звучит глупо, но это работает.
  4. related SO question с левой стороны этой страницы может помочь. Я связал один, я думаю, может быть ценным
+0

Спасибо за ответ Ахмад, к сожалению, ничто из этого не помогло. Как я уже упоминал в комментарии к вопросу, выше, проблема не связана с маршрутами - это проблема с WebFormViewModel, насколько я могу судить. Мы воспроизвели проблему с несколькими компьютерами/разработчиками, поэтому добавление и удаление областей не помогло. –

+0

@zak - что такое WebFormViewModel? – Ahmad

Смежные вопросы