Я хотел бы динамически изменять тему страницы в приложении MVC 2. я нашел несколько решений, но я хочу использовать этот метод: в Global.asax, изменить текущую тему Страницы:ASP.NET MVC 2: Динамические темы
protected void Application_PreRequestHandlerExecute(object sender, System.EventArgs e)
{
// cast the current handler to a page object
Page p = HttpContext.Current.Handler as Page;
if (p != null)
{
string strTheme = "Theme1";
if (Convert.ToString(HttpContext.Current.Session["THEME"]) != string.Empty)
strTheme = Convert.ToString(HttpContext.Current.Session["THEME"]);
p.StyleSheetTheme = strTheme;
}
}
Но этот код всегда возвращает нуль в «р» ... Я также попробовал подобный код, используя событие PreRequestHandlerExecute в более HttpModule и событие PreInit страницы, но код
HttpContext.Current.Handler как Page
всегда возвращает нуль.
Может ли кто-нибудь мне помочь? Спасибо заранее.
MVC Обработчики не являются страницами. – SLaks
Значит, каждый код, указанный в приведенных ниже ссылках, неверен? http://forums.asp.net/p/1424103/3168832.aspx http://forums.asp.net/p/1400562/3029482.aspx http://stackoverflow.com/questions/58123/finding -system-web-ui-page-from-httpcontext – mbp
Этот метод не будет работать для MVC. – SLaks