Приложение MVC 2 - настройка динамической мастер-страницы - PullRequest
2 голосов
/ 13 января 2012

Я хочу иметь возможность установить главную страницу в зависимости от URL-адреса в данный момент в приложении MVC 2.

Я вставил код C # в свои представления и дошел до этого -

<script language="C#" runat="server">
    protected void Page_PreInit(object sender, EventArgs e)
    {
        var hostName = HttpContext.Current.Request.Url.Host.ToString();
        if (hostName == "localhost")
        {
            this.MasterPageFile = "~/Views/Shared/Site.Master";
        }
        else
        {
            this.MasterPageFile = "~/Views/Shared/Administrator.Master";
        }
    }
</script>

Выражение IF, приведенное выше, предназначено для тестирования, на самом деле я буду извлекать имена главных страниц из базы данных, но это будет хорошо.

Если возможно, я бы лучше не вставлял код выше в каждое представление. Можно ли установить это из файла global.asax или аналогичного?

...