2011-12-16 52 views
0

當我在我的web配置此設置:錯誤在ASP.NET 2.0中處理瀏覽器文化

<globalization culture="auto" uiCulture="auto"/> 

的代碼被編譯在2010年VS

如果目標平臺設置爲.NET 2.0或3.0那麼它僅適用於IE和我在Chrome這個錯誤

「文化‘ES’是一箇中立的文化,它不能在格式化 和分析使用,因此不能設置爲線程的當前 文化「。

如果目標平臺是.NET 4.0,它適用於IE和Chrome。

這是ASP.NET 2.0/3.0中的錯誤嗎?有沒有修復它?

回答

0

結束使用CultureInfo.CreateSpecificCulture。它大部分時間都適用。

.NET 4允許設置中性文化的格式。它選擇那種語言中人口最多的文化,這就是我所聽到的。

0

這聽起來像它可能是一個錯誤。你可以發佈堆棧跟蹤嗎?

您也可以嘗試使用Fiddler等工具查看兩個瀏覽器發送的Accept-Language頭,以瞭解其差異。

請注意,使用IE,您可以控制在Accept-Language標頭中發送的內容。只需打開IE,然後在工具/ Internet選項/常規中,單擊語言按鈕。點擊添加,然後點擊添加一個自定義語言「es」,並將其移動到列表的頂部。

UPDATE

這聽起來類似the problem described in this StackOverflow question

該問題中的堆棧跟蹤顯示在Page.Culture屬性設置器中拋出異常。我會說這是一個錯誤;並可能在最新版本的Framework中修復(我無法使用.NET 3.5和最新的Service Pack進行重現)。

+0

的拋出異常爲這一行: 文化C = System.Threading.Thread.CurrentThread.CurrentUICulture 鉻發送;在Accept-Language頭 「ES,EN-US Q = 0.8」,而IE發送「 ES-MX,ES; q = 0.8" 。 我在IE中添加了自定義語言,問題也出現了。 – Chris 2011-12-16 18:52:14