2014-01-29 162 views
-1

當我啓動我的網站時,我的比利時客戶將獲得荷蘭的當前文化。 使用此代碼Thread.CurrentThread.CurrentCulture.ToString()CurrentThread.CurrentCulture顯示錯誤信息

在我的web.config我已經加入這個規則

<system.web> 
    <globalization culture="auto" /> 
</system.web> 

我試圖挽救要麼國家名稱(如比利時,荷蘭,法國,...)或根據客戶的位置將文化(例如be-NL,nl-NL,fr-FR)納入數據庫。

問題在於有些國家,比如比利時,根本找不到。 我確信,該​​IP位於我希望它是在通過whatismyipaddress.com

+2

謝謝你的信息 – wonko79

+9

wonko79說的是,你沒有告訴我們任何關於你的*問題*。對於什麼是錯的更具體。 – AndyG

回答

0

嘗試,而不是該國:

<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/> 
2

沒有中立的比利時文化。比利時的中立文化是nl(荷蘭)。如果您需要區分比利時和荷蘭文化,您需要分別獲得比利時的nl-BE和荷蘭的nl-NL。這與en-USen-GB是英語的特定文化類似。如果您的用戶瀏覽器只定義了中性文化,那麼您運氣不好。如果他有nl-BE作爲他的本地文化,g.pickardou的答案可能會有所幫助。還請注意,文化和UI文化的價值可能是一個無意義的組​​合,例如,在我的電腦上,我有CurrentCultureen-GBCurrentUICultureen-US。爲了讓這個更瘋狂,我的瀏覽器擁有本地文化cs-CZ,所以在我的電腦上運行的服務器可以根據當前的上下文獲取這些可能的文化。

編輯:根據您的問題更新,您對CurrentCulture如何在ASP.NET中工作有錯誤的想法。它與您的IP地址無關,只與服務器設置或用戶的瀏覽器設置有關。您當然可以通過覆蓋InitializeCulture來進行地址查找,但這通常是一個糟糕的主意。另外,正如我所說的,沒有中立的比利時文化 - be-NL不存在。事實上,be是白俄羅斯的中立文化。