Asp.net 重置我的文本框并不总是有效。如何修复?

Asp.net 重置我的文本框并不总是有效。如何修复?,asp.net,webforms,Asp.net,Webforms,我正在使用asp.NET3.5(代码隐藏在c#之后)。我的用户正在运行IE 7或8。我有一个带有多个文本框的数据输入页面 当我想清除所有文本框es时,我会执行一个服务器返回到同一页面 可能99%的时间,这会清除文本框。有时情况并非如此。 我知道发生了到服务器的往返,因为: 页面上的下拉列表和RadioButtonList被重置,并且 数据库处理如已保存到数据库的记录所示 DB 前后矛盾使我困惑 是什么导致TextBoxes以这种方式保存数据?我如何防止这种情况发生 这会导致用户将相同的数据保

我正在使用asp.NET3.5(代码隐藏在c#之后)。我的用户正在运行IE 7或8。我有一个带有多个
文本框的数据输入页面

当我想清除所有
文本框
es时,我会执行一个服务器返回到同一页面

可能99%的时间,这会清除
文本框。有时情况并非如此。

我知道发生了到服务器的往返,因为:

  • 页面上的下拉列表和RadioButtonList被重置,并且
  • 数据库处理如已保存到数据库的记录所示 DB
前后矛盾使我困惑

是什么导致
TextBox
es以这种方式保存数据?我如何防止这种情况发生

这会导致用户将相同的数据保存两次

我认为这与此无关,但页面上还有各种js函数用于验证,将输入的第一个字母大写,等等。因此,这可能不是清空
文本框的正确方法。该方法显式保留所有状态信息

下面介绍了一种更好的方法:


您将只保留一次往返,如果愿意,您可以保留所有其他用户输入。

您是否能够在“干净”IE安装(即人们没有任何加载项的安装)上重现此行为。有一些加载项可以“保存”表单数据以帮助节省重新填充表单的时间。我根本无法复制这种行为。这就是问题所在。但是,我将检查正在使用的机器,看看它们是否有任何加载项。您能推荐一些要查找的加载项吗?即使有外接程序,为什么他们只会在大约1%的时间里发生这种情况?我个人使用的是LastPass,为什么你要做服务器传输?您可能应该做一个响应。改为重定向。@kevin-少一次服务器呼叫。传输?
foreach (var item in Page.Controls)
        {
            if (item is TextBox)
            {
                ((TextBox)item).Text = "";
            }
        }