protected void Button1_Click(object sender, EventArgs e)
    {
          WebUserControl ws = (WebUserControl)LoadControl("WebUserControl.ascx");
               Panel1.Controls.Add(ws);
             
    }
因为panel要显示几个用户控件,点button1时显示用户控件1,button2时显示用户控件2,所以不能写在Page_Load里,请帮忙!!!!!!!!

解决方案 »

  1.   

    用visible也解决不了啊,还是要运行用户控件中的函数,还是一样的
      

  2.   

    用VISIBLE属性吧,用户控件中的函数放到Button1_Click里执行啊
      

  3.   

    protected void Button1_Click(object sender, EventArgs e)
    {
       viewstate["cid"] = 1;
       WebUserControl ws = (WebUserControl)LoadControl("WebUserControl1.ascx");
       Panel1.Controls.Add(ws);
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
       viewstate["cid"] = 2;
       WebUserControl ws = (WebUserControl)LoadControl("WebUserControl2.ascx");
       Panel1.Controls.Add(ws);   
    }
    void Page_Load()
    {
       if(Panel1.Controls.Count==0&&viewstate["cid"]!=null)
       { 
          WebUserControl ws = null;
          if(viewstate["cid"] == 1)
          {
            ws = (WebUserControl)LoadControl("WebUserControl1.ascx");
          }
          else if()
          {
            ws = (WebUserControl)LoadControl("WebUserControl2.ascx");
          }
          else {}
          if(ws != null)
             Panel1.Controls.Add(ws); 
       }
    }
    大致思路如此,没有调试过。