2012-08-04 60 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