Asp.net皮肤文件动态更改类

时间:2013-06-24 20:05:07

标签: asp.net css class

我需要根据某些条件在asp.net(visual basic)中动态更改所有类。使用皮肤文件似乎合乎逻辑,但我不知道如何分配它。为了澄清,我需要类似下面的内容(伪代码):

if(button.clicked)
change class="makeRed makeBold"
to
class="makeBlue makeBold"

提前致谢!

2 个答案:

答案 0 :(得分:2)

所有ASP.NET控件都具有.CssClass属性。您应该能够将CssClass属性设置为“makeRed makeBold”。

答案 1 :(得分:1)

我的理解是你想在运行时更改主题,这有点棘手。

一种解决方案可以是:

  1. 创建一个会话变量,该变量将保存当前主题值
  2. 按钮单击事件将值分配给会话变量。
  3. 在Page_preInit事件期间,将此变量值分配给Page.Theme属性。
  4. 使用server.transfer方法

    停止加载页面并重新加载同一页面
    protected void Page_PreInit(object sender, EventArgs e)
    {
        string thm;
        thm = (string)Session["MyTheme"];
        if (thm != null)
        {
           Page.Theme = thm;
        }
        else
        {
           Session["MyTheme"] = "makeRed";
           Page.Theme = "makeRed";
        }
    }
    
    protected void btnCalculate_Click(object sender, EventArgs e)
    {
        Session["MyTheme"] = "makeBlue";
        Server.Transfer(Request.FilePath);
    }
    
  5. 请检查this链接(虽然它是用c#编写的)。