ASP.NET回调没有在IE中被触发

时间:2010-01-12 17:29:52

标签: internet-explorer asp.net-ajax callback history

我们在ASP.NET页面中使用了一个使用Callbacks的控件。

  • 该控件在FireFox,Google Chrome等中运行良好。
  • 如果我们不使用ASP.NET AJAX历史记录,控件可以正常工作。一旦我们调用此代码,回调就会停止在IE中工作(6,7和8):

    ScriptManager.GetCurrent(Page)。AddHistoryPoint(“h”,id);

  • 我做了一些服务器端调试,以确定在IE中没有触发RaiseCallbackEvent,但却被其他人解雇了。

  • 我使用Fiddler进行了调试,发现它没有查询相应的URL。服务器返回无效的请求错误。

其他浏览器将HTTP POST发送到: Test.aspx文件

然而,IE正在将其发送至: Test.aspx文件%23安培;&安培; H = 12

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

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

1 个答案:

答案 0 :(得分:3)

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