Есть ли способ установить мастер-страницу после чтения запроса и сеанса? - PullRequest
0 голосов
/ 15 мая 2018

Мне удалось установить мастер-страницу программно в Page_PreInit, например:

 Page.MasterPageFile = "Site.Master";

Поскольку я не могу прочитать переменную сеанса, просто установите и измените каждую загрузку страницы до или во время этой фазы, код, подобный следующему, не работал для установки другой мастер-страницы в соответствии с переменной сеанса, которая основана на строке запроса URL :

 if (Session["PageLayout"] != null) {

     if (Session["PageLayout"].ToString() == "1") {
        Page.MasterPageFile = "FullWidth.Master";
     } else if (Session["PageLayout"].ToString() == "2") {
        Page.MasterPageFile = "SideBar.Master";
     } else {
        Page.MasterPageFile = "Site.Master";
     }
 }

Хотите знать, как установить мастер страницы в ASP.NET C # на основе сеанса или строки запроса, переданной при загрузке страницы!

Обновление: Я пытался использовать решение в этот вопрос но проблема в том, что в другом вопросе сеанс генерируется при входе в систему и используется на другой странице, в то время как в моем случае значение сеанса доступно только после посещения страницы и основано на URL-адресе запроса / идентификаторе страницы или, может быть, я не смог ' реализовать его так же.

...