文本框值不保存

Eve*_*ner 4 c# asp.net

出于某种原因,我放入文本框的任何内容都无法保存.有人可以告诉我为什么会这样吗?这是我正在使用的简化代码:

的.aspx

<body>
    <form id="form1" runat="server">
    <div>
    Try this:
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    TextBox1.Text = "Test 1";
}

protected void Button1_Click(object sender, EventArgs e)
{
     Response.Write(TextBox1.Text);
}
Run Code Online (Sandbox Code Playgroud)

无论我放入什么,Response.Write总是出现"测试1".谢谢你的帮助!

Jos*_*lio 17

在设置之前,您需要在Page_Load事件中检查Post Back.否则,Page_Load将始终覆盖您在文本框中输入的内容.

protected void Page_Load(object sender, EventArgs e)
{
   if(!IsPostBack)
   {
    TextBox1.Text = "Test 1";
   }
}
Run Code Online (Sandbox Code Playgroud)