开发者

2 skin files in 1 page in Asp.net

开发者 https://www.devze.com 2023-03-03 06:25 出处:网络
I have a skin file in <%@Page Theme=\"Theme1\"%> I have two buttons. One for Theme1.skin and another for Theme2.skin.

I have a skin file in <%@Page Theme="Theme1"%>

I have two buttons. One for Theme1.skin and another for Theme2.skin.

If i press button 1, Theme should be changed to Theme1.skin

If i press button 2, Them should be changed to Theme2.skin

开发者_开发技巧

I wroete this Page.Theme="Theme1"; on click event of button 1.

Then, i was told that could only be written in PreInit method.

Any idea?


Listen to what you've been told. You need to set the theme in PreInit of the page lifecycle. After that it is not possible

This might get you in the right direction of solving you problem. The comments are also good to read. More precisely this comment.


You can try to set the theme name in a session, force refresh page and load it in page_init

protected void Page_PreInit(object sender, EventArgs e)
{
        var themeName = Session["themeName"];
        if (thm != null)
        {
            Page.Theme = themeName.ToString() ;
        }
}

and

    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["themeName"] = "Theme1";
        Server.Transfer(Request.FilePath);

    }

similarly for Button2's Click, set session object to "Theme2"

0

精彩评论

暂无评论...
验证码 换一张
取 消