2013-07-11 79 views
0

要檢測訪客國家我看到下面的代碼在許多論壇建議,但我無法得到它的工作。如何檢測訪客國家

modGlobal.ResolveCountry.ThreeLetterISORegionName

在我的本地機器它正確返回我的電腦retional設置區域,而它在生產服務器上總是返回美國。

我想這是因爲該函數返回區域設置(即服務器區域設置),任何人都可以證實這一點?如果屬實,在asp.net中檢測訪問者國家的最佳做法是什麼?

回答

1

試試這個

Dictionary<string,string> objDic = new Dictionary<string,string>(); 

foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures)) 
{ 
RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name); 
if (!objDic.ContainsKey(objRegionInfo.EnglishName)) 
    { 
     objDic.Add(objRegionInfo.EnglishName, objRegionInfo.TwoLetterISORegionName.ToLower()); 
    } 
} 

var obj = objDic.OrderBy(p => p.Key); 
foreach (KeyValuePair<string,string> val in obj) 
{ 
    ddlCountries.Items.Add(new ListItem(val.Key, val.Value)); 
} 

EnglishName將返回國名

來自IP see