在IE 10和Windows 8中不支持Sys.WebForms.PageRequestManager.getInstance()

时间:2012-12-03 13:39:47

标签: asp.net windows-8 asp.net-ajax internet-explorer-10 pagerequestmanager

我在Windows 8的IE 10应用程序中面临一些asp.net ajax问题。但它在IE 10的兼容模式下运行正常。

你可以看到我的这个here的现场演示,它可以在所有浏览器而不是IE 10中正常工作(在Windows 7上的IE9中也能正常工作)。

不知道是什么原因?

在我的页面上,我正在注册此活动: -

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
   page_Load();
});

$().ready(function() { page_Load(); });

function page_Load() {
    //my code for onload registration goes here(it all working fine)
}

请帮帮我。 最诚挚的问候

2 个答案:

答案 0 :(得分:3)

您可以尝试使用jQuery .on()方法而不是Sys.WebForms.PageRequestManager.getInstance();

例如:

$('html').on('click', '.selector', function () {
    page_Load();
});

答案 1 :(得分:3)

服务器可能无法将Internet Explorer 10识别为支持JavaScripts的Web浏览器。运行Windows更新为我解决了问题。

如果您无法更新服务器,可以尝试在app_browser文件夹中添加/修改ie.browser。

  

如果您无权访问整个计算机和/或只想更新单个项目,请使用NuGet安装App_BrowsersUpdate包。然后,解决方案资源管理器中的站点结构将如右图所示。请注意,NuGet使用.NET 4,因此对于只有.NET 2的系统,您需要手动获取ZIP文件并将新浏览器文件放在App_Browsers中。

     

.NET 4浏览器更新NuGet包 - http://nuget.org/List/Packages/App_BrowsersUpdate   安装包App_BrowsersUpdate   .NET 2.0浏览器更新NuGet包 - http://nuget.org/List/Packages/App_BrowsersUpdate.net20   安装包App_BrowsersUpdate.net20   请注意,NuGet是VS2010特定的,因此如果您没有nuget.exe和.NET 4,您还可以从此zip文件中手动将.NET 2更新的浏览器文件复制到〜\ App_Browsers中。   更新整个机器是解决此问题的首选方法。