0

我想当我单击按钮时我的 textbox1 必须更改,但 textbox3 不为什么它不起作用

        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更改 为什么

4

1 回答 1

3

因为当您单击按钮时,您向服务器提交请求,这会导致往返,从而导致Page_Load再次执行。IsPostBack您可以通过使用以下属性检测请求是否是回发周期的一部分来避免这种情况:

if (IsPostBack) {

}

或者,在大多数情况下,在不是回发时做一些事情:

if (!IsPostBack) {
  TextBox3.Text = DateTime.Now.ToLongTimeString();
}
于 2013-02-20T13:15:50.200 回答