大家好:
      主要思路:
      后台生成UpdatePanel,UpdatePanel里面添加TextBox,TextBox绑定事件,当TextBox内容变化时,页面的UpdatePanel就不见了。  部分代码如下: 只有40分了,全部送上
  protected void Page_Load(object sender, EventArgs e)
    {            if (!Page.IsPostBack)
            {                           
                                UpdatePanel upAuditMoney = new UpdatePanel();//后台生成的UpdatePanel
                                upAuditMoney.ID = "upAuditMoney" + ID.ToString();
                                upAuditMoney.UpdateMode = UpdatePanelUpdateMode.Conditional;
                                TextBox txtAuditMoney = new TextBox();//文本域
                                txtAuditMoney.ID = "txtAuditMoney" + ID.ToString();
                                txtAuditMoney.Width = Unit.Parse("100px");
                                txtAuditMoney.ValidationGroup = "0";
                                txtAuditMoney.BorderStyle = BorderStyle.Groove;
                                txtAuditMoney.AutoPostBack = true;                                txtAuditMoney.TextChanged += new EventHandler(AuditMoneyTxtChage);                                 upAuditMoney.ContentTemplateContainer.Controls.Add(txtAuditMoney);
                                     this.panel_ProList.Controls.Add(upAuditMoney);//添加至前台的Panel中
}
}
      

解决方案 »

  1.   

    if (!Page.IsPostBack)
      {去掉
      

  2.   

    去掉的话,会反复的添加TextBox到页面中,所以不行
      

  3.   

      UpdatePanel upAuditMoney = new UpdatePanel();//后台生成的UpdatePanel
      upAuditMoney.ID = "upAuditMoney" + ID.ToString();
      upAuditMoney.UpdateMode = UpdatePanelUpdateMode.Conditional;

    把上面的代码移到 if (!Page.IsPostBack) 外面去喽
      

  4.   

    不好意思,好像也不对,你在 ViewState 中加一个标记,标记下是否已添加过此控件吧,然后读取此 ViewState,再做判断——如果没有添加过,就添加一个;如果已添加,读出它的状态