У меня есть собственный движок представления в ASP.NET MVC, и после обновления до RC1 мой пользовательский движок представления, который реализует области , как в этом посте Фила Хаака , не входит в метод переопределения FindView, таким образом нарушая любой контроллеры, которые находятся внутри области, так как приложение не может их найти. Поскольку я знаю, что большое количество людей использует области в своих приложениях MVC, кто-нибудь знает решение этой проблемы или почему это происходит?
Ниже мой метод findview для справки.
public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName)
{
ViewEngineResult areaResult = null;
if (controllerContext.RouteData.Values.ContainsKey("area"))
{
string areaViewName = FormatViewName(controllerContext, viewName);
areaResult = base.FindView(controllerContext, areaViewName, masterName);
if (areaResult != null && areaResult.View != null)
{
return areaResult;
}
string sharedAreaViewName = FormatSharedViewName(controllerContext, viewName);
areaResult = base.FindView(controllerContext, sharedAreaViewName, masterName);
if (areaResult != null && areaResult.View != null)
{
return areaResult;
}
}
return base.FindView(controllerContext, viewName, masterName);
}