c# - 文本框值不保存

标签 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>

.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);
}

无论我在其中放入什么,Response.Write 始终显示为“测试 1”。 感谢您的帮助!

最佳答案

您需要在设置前检查 Page_Load 事件中的回发。否则,Page_Load 将始终覆盖您在文本框中输入的任何内容。

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

关于c# - 文本框值不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/963110/

相关文章:

c# - 多级锁?

c# - 从数据库中解析xml

c# - OData路由异常

asp.net - 将 ASP.Net 5 Web 应用程序部署到 Azure 时如何删除现有文件

c# - 使用 OpenXML SDK 2.5 将图片添加到 QuickPart Autotext

c# - 日期框自定义类

c# - 如何在 C#/.net 中将 XML 数据链接在一起

asp.net - jQuery flot,来自 SQL Server 的实时绘图

asp.net - ext.net 中的客户端验证和显示字段样式

asp.net - 为什么在 Firefox 中按下后退按钮会导致回发?