1

我们的 QA 团队报告说,我们的一个应用程序在 Windows 7 的 Safari 中无法运行。在检查问题后,我们发现任何回发事件都无法运行。经过一些尝试,我们发现 Page.IsPostback() 报告错误,并认为这是页面的首次加载,并且回发不包括 ViewState。

我们尝试了许多解决方案,包括
Windows 7 上 Safari 中的 ViewState 的 ASP.Net 回发问题
Viewstate invalid when using Safari
ViewState Chunking in ASP.NET 2.0 (maxPageStateFieldLength)

但所有这些都没有让 Safari 正常工作。

这个应用程序没有什么特别之处。普通页面使用一个非常普通的母版页。

有什么建议么?

4

1 回答 1

3

如果启用了协商提供程序,则 Safari 在 IIS 下使用 Windows 身份验证时会出现问题,因此 AJAX POST 无法正常工作。

如何解决?
在 IIS 中,转到您网站的身份验证设置。右键单击 Windows 身份验证,选择提供程序并删除协商,留下 NTLM,这会使一切正常。

[参考]
AJAX POST Request Only Works Once in Safari 5
Negotiate Mechanism维基百科文章显示在 Safari 中没有实现

于 2012-10-13T17:57:39.313 回答