2012-08-04 57 views
1

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

我们尝试了许多解决方案,包括
ASP.Net postback problem with ViewState in Safari on Windows 7
Viewstate invalid when using Safari
ViewState Chunking in ASP.NET 2.0 (maxPageStateFieldLength)

但都没有带来Safari浏览器工作。

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

有什么建议吗?

+0

我的建议执行。 1.检查javascript错误,2.压缩并裁剪视图状态。 – Aristos 2012-08-04 08:49:21

+0

@Aristos,没有javascript错误。此外,我将视图状态切成多个字段,但同样的问题仍然存在,任何回传被认为是一个全新的回传:( – Ahmed 2012-08-04 09:09:37

+0

你看到了什么?回帖发生或根本没有发生,并在那里等待永远? – Aristos 2012-08-04 11:01:08

回答

3

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

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

[参考文献]
AJAX POST Request Only Works Once in Safari 5
Negotiate Mechanism文章在维基百科上显示,它是不是在Safari

+0

为我修好了!谢谢! – kman 2012-10-15 14:11:58

+0

您不必在国际空间站(国际),但在IIS中已经足够了;)对于IIS Express,开玩笑说,你会在文件'C:\ Users \ [用户名] \ Documents \ IISExpress \ config \ applicationhost.config'中找到这个配置,然后搜索''部分中的'windowsAuthentication'部分。 – 2014-12-07 10:13:07