Переключение между мастер-страницами

Существует две мастер-страницы и четыре страницы содержимого. При нажатии на кнопку происходит изменение первой мастер-страницы на вторую. Также имеются элементы управления Menu и TreeView, если мы переходим на вторую мастер-страницу при помощи нажатии на кнопку и переходим на страницу в Menu или TreeView (допустим третью), то автоматом мастер-страница заменяется на первую, как это можно исправить?

Код для мастер-страницы:

protected void OnPreInit(EventArgs e)
    {
        if (Request.Headers["MasterPage"] == "2")
        {
            Page.MasterPageFile = "~/Site2.Master";
        }

        if (Request.Headers["MasterPage"] == "1")
        {
            Page.MasterPageFile = "~/Site1.Master";
        }
    }

Класс ChangeMasterPage

public static void ChangeMasterPage(HttpRequest request,
                                        Page page)
    {
        if (request["masterPage1"] != null)
        {
            page.MasterPageFile = "~/Site1.Master";
        }
        else if (request["masterPage2"] != null)
        {
            page.MasterPageFile = "~/Site2.Master";
        }
    }

Код для страницы содержимого:

protected override void OnPreInit(EventArgs e)
    {
        MasterPageManager.ChangeMasterPage(Request, this);
    }

введите сюда описание изображения


Ответы (0 шт):