1

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

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

提前致谢!

4

2 回答 2

2

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

于 2013-06-24T20:11:23.437 回答
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);
    }
    

请检查链接(尽管它是用 c# 编写的)。

于 2013-06-24T20:28:44.230 回答