我使用的是asp.net 3.5(codebehind c#)。我的用户正在运行IE 7或8.我有一个包含多个TextBox
es的数据输入页面。
当我想要清除所有TextBox
es时,我会将sever.transfer返回到同一页面。
也许99%的时间,这会清除TextBox
es。它经常不会。
我知道发生了对服务器的往返,因为:
这种不一致使我感到困惑。
导致TextBox
es以这种方式保存数据的原因是什么?如何防止它发生?
这导致用户两次保存相同的数据。
我不认为这与它有任何关系,但页面上还有各种js函数用于验证,大写输入的第一个字母等等。
答案 0 :(得分:2)
作为此MSDN article describes the Server.Transfer method,这可能不是清空TextBox
es的正确方法。该方法明确保留所有状态信息。
this answer中描述了一种更好的方法:
foreach (var item in Page.Controls)
{
if (item is TextBox)
{
((TextBox)item).Text = "";
}
}
如果您愿意,您可以将往返保持为一个,并且可以保留所有其他用户输入。