有谁能给偶一个例子,点击网页上一个地方,可以动态改变该网页上的某些控件的SkinID啊?
比如<form><asp:Button ID="haha" runat="server" Text="haha" SkinID="SmallText"/></form>
单击该网页变成
<form><asp:Button ID="haha" runat="server" Text="haha" SkinID="loveme"/></form>
然后会显示不同的skin,谢谢哦。

解决方案 »

  1.   

    比如按钮单击时:
    void button_Click(object sender, EventArgs e)
    {
        haha.SkinID = "loveme";
    }
      

  2.   

    ?采用楼上的代码报错用户代码未处理invalidOperationException
    对于静态控件,“SkinId”属性只能在 Page_PreInit 事件之中或之前设置。对于动态控件,在将该属性添加到控件集合之前设置它。
      

  3.   

    自己添加一个protected void Page_preinit()方法
    然后在方法里面更换控件的皮肤
    更换控件皮肤和母版页等只能在页面初始化之前啊,就是page_preinit方法里面完成
    你可以设置一个属性,如果属性为空,方法就什么都不做
    如果设置了皮肤ID,那就载入皮肤ID,按钮就是设置那个属性,
    然后Server.Transfer(本页面);
    OK
      

  4.   

    你都知到在Page_PreInit 里做了,那还不很吗?
    只要在这个方法里多一个判断不就可以了吗?(具体,自己设置)
      

  5.   

    protected void Page_PreInit(Object sender, EventArgs e)
        {
            System.Web.UI.MasterPage m = Master;        Label c = new Label();
            c.SkinID = "lbl";
            c.Text = "1";
            this.Panel1.Controls.Add(c);    }
      

  6.   

    唉,,,事件里面写过不起作用的。
     //动态设置页面主题
            if (Request.QueryString["page_theme"] != null)
            {
                Page.Theme = Request.QueryString["page_theme"].ToString();        }
            else
            {
                Page.Theme = "Default";
            
            }        //动态设置控件外观
            if (Page.Theme != "" && Request.QueryString["button_skinid"] != null)
                Button1.SkinID = Request.QueryString["button_skinid"].ToString(); ///实际上偶设的这句话能运行但不能正确显示。。
    protected void Page_PreInit(Object sender, EventArgs e) 
        { 
            System.Web.UI.MasterPage m = Master;         Label c = new Label(); 
            c.SkinID = "lbl"; 
            c.Text = "1"; 
            this.Panel1.Controls.Add(c);     } 
    这段代码不错的,但是偶不要新生成的,这样对原来的按钮一点作用也没有
      

  7.   


    那你就不要用skinID了
    直接用CSS,只需要在button的客户端事件就可以解决了
    多简单,用skinID多不好
    转换一个样式都要占用服务器资源
      

  8.   

    js控制css才是王道,无需刷新的
      

  9.   

    js控制css才是王道,无需刷新的