2

设想:

  • 自己滚动的 jQuery Ajax 帖子以验证未聚焦的输入字段
  • 用于在表单上发布的标准提交按钮

如果我导致验证触发并等到我在 firebug 中看到它完成,然后单击全部保存就可以了。但是,如果我在字段中留下更改,然后直接单击提交按钮(因此 ajax 和标准发布几乎同时发生),则请求会在返回“连接重置”之前挂在浏览器中。如果在 VS 调试中运行,除非我点击暂停,否则我什么也看不到。然后我会看到以下调用堆栈:

System.Web.dll!System.Web.Hosting.IIS7WorkerRequest.ReadEntityCoreSync(byte[] buffer, int offset, int size) + 0x23 bytes
System.Web.dll!System.Web.Hosting.IIS7WorkerRequest.ReadEntityBody(byte[] buffer, int size) + 0x18 bytes
System.Web.dll!System.Web.HttpRequest.GetEntireRawContent() + 0x2d4 bytes
System.Web.dll!System.Web.HttpRequest.GetMultipartContent() + 0x45 bytes
System.Web.dll!System.Web.HttpRequest.FillInFormCollection() + 0xad bytes
System.Web.dll!System.Web.HttpRequest.Form.get() + 0x45 bytes
System.Web.dll!System.Web.HttpRequest.HasForm.get() + 0x46 bytes
System.Web.dll!System.Web.UI.Page.GetCollectionBasedOnMethod(bool dontReturnNull) + 0x62 bytes

背景:

ASP.NET 4 MVC 2 Web 应用程序,带有一些在 Win7/IIS7 上本地运行的旧版 Web 表单页面(ajax 发布和标准发布所涉及的页面是同一个 Web 表单页面)。

我可能会在 ajax 验证触发时禁用提交按钮。但是,即使我这样做了,我也很想知道是什么导致了这个看似基于时间/并发请求的问题。

4

1 回答 1

0

当点击发生时,你可以禁用 ajax 帖子吗?这样,您必须在执行任何其他操作之前检查单击事件中的条件。

于 2011-03-08T15:44:03.340 回答