До сих пор я использовал приведенный ниже код с ASP.NET MVC v1 и v2, но когда я сегодня добавил область в свое приложение, контроллер этой области не смог найти никаких представлений в моей папке Areas / Views / controllerView. Он выдал очень известное исключение, что он просматривал эти 4 стандартные папки, но не просматривал области ..
Как я могу изменить код, чтобы он работал с Областями? Может быть, пример настраиваемого механизма просмотра под ASP.NET MVC 2 с поддержкой областей? Информации об этом в сети очень мало.
Вот код:
public class PendingViewEngine : VirtualPathProviderViewEngine
{
public PendingViewEngine()
{
// This is where we tell MVC where to look for our files.
/* {0} = view name or master page name
* {1} = controller name */
MasterLocationFormats = new[] {"~/Views/Shared/{0}.master", "~/Views/{0}.master"};
ViewLocationFormats = new[]
{
"~/Views/{1}/{0}.aspx", "~/Views/Shared/{0}.aspx", "~/Views/Shared/{0}.ascx",
"~/Views/{1}/{0}.ascx"
};
PartialViewLocationFormats = new[] {"~/Views/{1}/{0}.ascx", "~/Views/Shared/{0}.ascx"};
}
protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
{
return new WebFormView(partialPath, "");
}
protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
{
return new WebFormView(viewPath, masterPath);
}
}