ASP.NET 回调未在 IE 中触发

发布于 2024-08-18 03:38:54 字数 620 浏览 4 评论 0原文

我们正在使用一个在 ASP.NET 页面中使用回调的控件。

  • 该控件在 FireFox、Google Chrome 等中工作正常。
  • 如果我们不使用 ASP.NET AJAX History,该控件工作正常。一旦我们调用此代码,回调就会在 IE(6、7 和 8)中停止工作:

    ScriptManager.GetCurrent(Page).AddHistoryPoint("h", id);

  • 我做了一些服务器端调试,以弄清楚 RaiseCallbackEvent 没有在 IE 中触发,而是为其他人触发。

    我做了一些服务器端调试,以找出
  • 我使用 Fiddler 进行了调试,发现它没有查询适当的 URL。服务器返回无效请求错误。

其他浏览器将 HTTP POST 发送到: test.aspx

但是,IE 将其发送到: test.aspx%23&&h=12

这是因为浏览器栏中的 URL 是 test.aspx#&&h=12,因为我们的 AJAX 历史记录控件。

在 JavaScript 中调用 WebForm_DoCallback 时,如何强制 IE 删除用于 AJAX 历史记录的锚点?

We're using a control that uses Callbacks in our ASP.NET page.

  • The control works fine in FireFox, Google Chrome, etc.
  • The control works fine if we do not use ASP.NET AJAX History. As soon as we call this code, the callbacks stop working in IE (6, 7 and 8):

    ScriptManager.GetCurrent(Page).AddHistoryPoint("h", id);

  • I did some server side debugging to figure out that RaiseCallbackEvent was not fired in IE, but was fired for others.

  • I have debugged using Fiddler and observed that it was not querying the appropriate URL. The server returns an invalid request error.

Other browsers send the HTTP POST to:
test.aspx

However, IE is sending it to:
test.aspx%23&&h=12

This is because the URL in the browser's bar is test.aspx#&&h=12, because of our AJAX History Control.

How can I force IE to drop the anchor used for AJAX history when calling WebForm_DoCallback in JavaScript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖风昔人 2024-08-25 03:38:54

阅读 WebForm_DoCallback 上的内容,我没有看到任何设置服务器调用的 url 的内容。这意味着它要么从表单操作获取它,要么将其发送到当前页面。尝试设置表单的操作属性。

Reading the contents on WebForm_DoCallback, I didn't see anything that set the url of the server call. This means that it is either getting it fromthe form action or sending it to the current page. Try setting the form's action attribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文