我在 ASP .NET 页面上有一个表单,按钮 onclick 事件附加到 doPostBack 函数。但是,当我单击该按钮时,表单会提交两次。服务器端调试器进入 Page_Load 两次,Fiddler 记录两个 aspx 请求等,没有 302 重定向等,这是一个非常简单的页面。
当我在 __doPostBack 函数中设置断点时,它也会被调用一次(也许这只是一种错觉)。
是否有机会更深入地调试客户端以找到问题?
谢谢,帕维尔
我在 ASP .NET 页面上有一个表单,按钮 onclick 事件附加到 doPostBack 函数。但是,当我单击该按钮时,表单会提交两次。服务器端调试器进入 Page_Load 两次,Fiddler 记录两个 aspx 请求等,没有 302 重定向等,这是一个非常简单的页面。
当我在 __doPostBack 函数中设置断点时,它也会被调用一次(也许这只是一种错觉)。
是否有机会更深入地调试客户端以找到问题?
谢谢,帕维尔
您是否手动连接事件处理程序?如果是这样,您应该检查 ASPX 的 Page 指令中的 AutoEventWireup="true" 是否。如果是这样,请将其更改为 false 或删除手动接线。当您使用设计器文件将旧页面升级到较新的 Web 应用程序格式时,可能会发生这种情况。
行。明白了:输入 type="image" 有
onclick="__doPostBack(.....)"
当我将其修改为:
onclick="_doPostBack(...); return false;"
两个请求问题消失了。Fiddler 只记录了一个请求,Page_Load 被调用一次,一切都很整洁。
所以在使用会导致点击时自动提交表单的 HTML 元素时要小心;)
谢谢,帕维尔
听起来有两件事会导致回发。该按钮是一个提交按钮并且还有一个 onclick 处理程序吗?这会导致这种行为。
您在 Fiddler 中看到的 2 个 ASPX 请求是相同的,还是略有不同?