2013-02-20 11 views
0

我想單擊按鈕時我的文本框1必須更改,但文本框3不是 爲什麼不是工作asp.net中的不理解

 protected void Page_Load(object sender, EventArgs e) 
     { 
      TextBox3.Text = DateTime.Now.ToLongTimeString(); 
     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      TextBox1.Text = DateTime.Now.ToLongTimeString(); 
     } 

<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="Button"/> 
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
      </ContentTemplate> 
    <br /> 
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
     </asp:UpdatePanel> 

當我點擊Button1的TextBox3改變 爲什麼

+0

對不起! 將在 Zhenia 2013-02-20 13:18:21

回答

3

因爲當您單擊按鈕時,您向服務器提交請求,導致往返,導致Page_Load再次執行。您可以通過檢測該請求是否是使用IsPostBack屬性回發週期的一部分,避免這種情況:

if (IsPostBack) { 

} 

或者,如在大多數情況下,做的東西時,它的不是回發:

if (!IsPostBack) { 
    TextBox3.Text = DateTime.Now.ToLongTimeString(); 
}