【问题标题】:How to detect visitor country如何检测访客国家
【发布时间】:2013-07-11 08:10:10
【问题描述】:
为了检测访问者国家/地区,我在许多论坛中看到了以下代码,但我无法让它工作。
modGlobal.ResolveCountry.ThreeLetterISORegionName
在我的本地机器上它正确地返回我的计算机区域设置区域,而它在生产服务器上总是返回美国。
我猜这是因为函数返回环境区域设置(即服务器区域设置),有人可以确认吗?如果属实,在 asp.net 中检测访问者国家/地区的最佳做法是什么?
【问题讨论】:
标签:
asp.net
browser
localization
regional-settings
【解决方案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 将返回国家/地区名称
来自IPsee