4

这可能与这个问题有关,但我有更多的信息。

在使用 Linq 编写了一些新代码后,我最近将一个 ASP.Net 应用程序更新为 .NET 3.5。现在我的页面间歇性地停止触发事件处理程序。我将其范围缩小到带有 Ajax 的页面,并且我认为是 ScriptManager 或 AjaxControlToolkit 注册导致了问题。

真正棘手的部分是页面似乎在大约 2/3 秒的时间内可以正常工作,而控件只有 1/3 的时间会丢失其事件处理程序。我想知道发生了某种类型的错误并且页面无法正确呈现,但我找不到这方面的证据。

4

7 回答 7

1

我们确实遇到了这个问题,正如您所说,它只在某些时候发生,并且只发生在带有 Ajax 请求的页面上。我们发现禁用 HTTP Keep-Alive 的答案中建议 为什么 Internet Explorer 在失败后不会在 Ajax 调用上发送 HTTP 帖子正文?工作。

这可以按照如何在 IIS 7 中配置 HTTP KEEP-ALIVE 中的说明在 IIS7 中完成

于 2011-08-17T06:03:18.533 回答
0

到目前为止,我只使用了 Telerik Ajax 控件,我的观察是,如果在启用 Ajax 的控件中发生异常,则不会发生任何事情。无异常报告,无操作。没有。

也许您应该在没有 ajax 的情况下测试您的应用程序以确定任何问题点

于 2009-04-24T16:18:24.237 回答
0

我最初的想法是 javascript 出错(未捕获)并中止异步回发的地方正在发生一些事情。

如果您可以在开发环境中实现这一点,您可能想尝试错误处理window.onerror事件并抛出一些警报框。查看可能发生错误的位置可能会有所帮助。

于 2009-04-24T17:07:31.917 回答
0

你有没有尝试过:

ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(yourButton);

于 2009-04-30T16:33:41.137 回答
0

如果有,请尝试注释掉更新面板。然后尝试单击按钮,页面上一定有错误。我也遇到过类似的问题。

于 2011-09-07T10:03:33.220 回答
0

在我看来,您对更新面板有疑问。

如果您使用多个更新面板并且更新一个面板会更改其他更新面板的数据,请定义更新面板的以下属性。

对于更新面板

  1. ChildrenAsTriggers = true
  2. EnableViewState = true(如果您正在使用此功能)
  3. 更新模式 = 总是

对同一页面中的其他更新面板使用相同的属性。

如果您觉得有用,请将其标记为您的答案,否则请告诉我......

于 2011-11-09T12:51:31.803 回答
0

在我的情况下,没有任何事件(按钮或复选框)被触发。我能够使用以下方式克服这个问题。

在我的母版页中,我关闭了一个引用外部 .js 文件的标记,该标记使用 /> 符号而不是<script></script>.

例如:更改<script src='../../Scripts/common/menu.Js' type='text/javascript' /><script src='../../Scripts/common/menu.Js' type='text/javascript' ></script>

希望这会对你有所帮助,拉梅什

于 2012-07-01T08:33:28.503 回答