Пользовательские контроллеры Umbraco 7 не работают

У меня есть два сайта umbraco, один на версии 7.1.8, другой на 7.2.4. На сайте с 7.1.8 есть несколько контроллеров, все они наследуются от PluginController. Помимо наследования от PluginController, НЕ было НИКАКИХ изменений в моделях, то есть наследовании от Umbraco.Web.Models.RenderModel или в представлении. Он просто работает так же, как обычный asp.net MVC. У контролеров нет причин разговаривать с Умбрако.

Однако мой второй сайт, похоже, не хочет работать таким же образом. Сообщения об ошибках, настаивающие на том, что я использовал Umbraco.Web.Models.RenderModel и т. д.

Есть ли способ сказать Umbraco, чтобы мои контроллеры оставались в покое, как на первом сайте?


person bannypotter    schedule 05.05.2015    source источник


Ответы (1)


Есть только два способа получить ошибку времени выполнения, предлагающую использовать Umbraco.Web.Models.RenderModel:

1) путем передачи пользовательской модели, которая не наследует Umbraco.Web.Models.RenderModel, в представление, наследующее от Umbraco.Web.Mvc.UmbracoTemplatePage

2) путем передачи пользовательской модели, которая не наследует Umbraco.Web.Models.RenderModel, в представление, какой макет предполагает, что модель будет иметь тип Umbraco.Web.Models.RenderModel

Поскольку ваши представления не наследуются от Umbraco.Web.Mvc.UmbracoTemplatePage, это должен быть второй случай, поэтому проверьте свой макет. Например. явно установите Layout = null в своих представлениях и посмотрите, исчезла ли ошибка.

См. раздел Возврат представления с пользовательской моделью здесь для получения более подробной информации и возможных обходных путей.

PS. Обратите внимание, что макет можно задать неявно через файл _ViewStart.cshtml, расположенный в папке Views.

person anikiforov    schedule 05.05.2015