ASP.NET MVC RC1 - механизм пользовательского просмотра для областей - переопределение FindView не запускается - PullRequest
1 голос
/ 28 января 2009

У меня есть собственный движок представления в 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);
    }

Ответы [ 2 ]

2 голосов
/ 28 января 2009

Они добавили параметр в метод FindView. Теперь вы можете указать использование кэша в FindView и FindPartialView.

0 голосов
/ 11 февраля 2009

И, кстати, Фил обновил свой пост для работы с RC1. Проверьте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...