有关ajax的问题(在updatePanel中动态添加控件的问题)
<form   id= "form1 "   runat= "server ">  
              <script      runat= "server ">  
                protected   void   Button1_Click(object   sender,   EventArgs   e) 
             { 
                         this.Button2.Text   =    "我被改变了 ";     
                         Button   btn   =   new   Button(); 
                         btn.Text   =    "新的按钮 "; 
                         btn.ID   =    "acb "; 
                         this.UpdatePanel2.ContentTemplateContainer.Controls.Add(btn); 
             }               
              </script>  
              <div>  
                          <asp:ScriptManager   ID= "ScriptManager1 "   runat= "server ">  
                          </asp:ScriptManager>  
                          <asp:UpdatePanel   ID= "UpdatePanel1 "   runat= "server ">  
                                      <ContentTemplate>  
                                                  <asp:Button   ID= "Button1 "   runat= "server "   OnClick= "Button1_Click "   Text= "btn1 "   />  
                                      </ContentTemplate>  
                          </asp:UpdatePanel>  
                          <asp:UpdatePanel   ID= "UpdatePanel2 "   runat= "server ">  
                                      <ContentTemplate>  
                                                  <asp:Button   ID= "Button2 "   runat= "server "   Text= "btn2 "   />  
                                      </ContentTemplate>  
                          </asp:UpdatePanel>  
              </div>  
              </form>    
 为什么 我点了一百次Button1,都只出来一个---- "新的按钮 "; 
 为什么为什么??????????????????
------解决方案--------------------问题不在ID上  
 楼主要学习下生存期的问题。 
 动态添加的控件 页面生成结束就丢失了 
 需要你自己保存并维护控件状态 
 (动态生成的控件依然可以有自己的VIEWSTATE)   
 一般来说动态加载的功能模块都有一个自己的SETUP或者START方法,进行初试设置,或者把上次自己的状态加回来。   
 举例说明在页面的 OnInit中 根据自己存在SESSION中的一个变量标记把需要的控件生成。并调用他的启动函数把数据给它,保存它的一些关键数据 为了下次生成。  如果在POSTBACK的时候用户要加东西, 那就再生成一个东西 ADD进该去的容器。   
 简单来说 每次回传都要把前边已经存在 并没有删掉的东西加载一遍。   
 其实上边说加载过程在OnInit 不是必须, 只是有些东西可能需要在这一步执行,在PAGELOAD也可以,只要保证不出特殊问题。 (比如WEBPART应用在页上,这时候位置可能是变动的,在PAGELOAD时候加 就会有问题。)