找到在ASP .NET中提交表单的地方

时间:2010-07-27 13:54:19

标签: asp.net postback dopostback

我在ASP .NET页面上有一个表单,按钮onclick事件附加到doPostBack函数。 但是,当我点击该按钮表单时,会提交两次。服务器端调试器输入Page_Load两次,Fiddler记录两个aspx请求等,没有302重定向等,这是非常简单的页面。

当我在__doPostBack函数中设置断点时,它也被调用一次(也许这只是一种错觉)。

是否有机会更深入地调试客户端以找到问题?

谢谢,Paweł

3 个答案:

答案 0 :(得分:1)

您是否手动连接事件处理程序?如果是这样,您应该检查ASPX的Page指令中的AutoEventWireup =“true”。如果是这样,请将其更改为false或删除手动接线。使用设计器文件将旧页面升级到较新的Web应用程序格式时可能会发生这种情况。

答案 1 :(得分:1)

确定。得到它:输入类型=“图像”有

onclick="__doPostBack(.....)" 

当我将其修改为:

onclick="_doPostBack(...); return false;"

两个请求问题消失了。 Fiddler只记录了一个请求,Page_Load被调用一次,一切都很整洁。

因此在使用导致点击时自动提交表单的HTML元素时要小心;)

谢谢,Paweł

答案 2 :(得分:0)

听起来有两件事导致回发。该按钮是一个提交按钮,还有一个onclick处理程序?这会导致这种行为。

您在Fiddler中看到的2个ASPX请求是相同的,还是略有不同?