我希望当我点击按钮时,我的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 会发生变化 的为什么
答案 0 :(得分:3)
因为当您单击按钮时,您向服务器提交请求,这会导致往返,从而导致Page_Load
再次执行。您可以通过使用IsPostBack
属性检测请求是否属于回发周期来避免这种情况:
if (IsPostBack) {
}
或者,就像大多数情况一样,当不回发时做一些事情:
if (!IsPostBack) {
TextBox3.Text = DateTime.Now.ToLongTimeString();
}