.NET MVC 3 Программная установка макета

В веб-приложении .NET Razor я пытаюсь программно установить макет . Я не могу использовать _ViewStart.cshtml и не могу устанавливать @ {Layout = "..."} на каждой странице. Вот что я придумал:

Базовый класс WebViewPage :

public abstract class SitePage<T> : System.Web.Mvc.WebViewPage<T>
{
    private object _layout;

    public new dynamic Layout { get { return _layout; } }

    public override void InitHelpers()
    {
        base.InitHelpers();
        _layout = "~/Themes/" + Settings.Theme + "/Views/_Layout.cshtml";
    }
}

И в приложении web.config я указываю все представления для использования этой базовой страницы. Но макет , похоже, никогда не используется. Что здесь может быть не так?

5
задан javad amiry 16 October 2011 в 22:15
поделиться