如何在ASP.NET应用程序中获取所有可用的区域性名称

时间:2009-08-06 10:30:46

标签: asp.net localization asp.net-2.0

我的ASP.NET应用程序已本地化(by using resources)到许多文化。我需要的是找到所有这些文化(在运行时),例如填充DropDownList。

我有代码在Windows应用程序中执行此操作 - 通过寻求附属程序集来补充可用文化的集合。

但是网络应用呢?可以找到卫星组件吗?或者这可以通过其他方式完成?

有什么建议吗?

由于

3 个答案:

答案 0 :(得分:3)

这样的事情对你有用......

var ass = Assembly.GetExecutingAssembly();

foreach( var c in CultureInfo.GetCultures( 
  CultureTypes.SpecificCultures | 
  CultureTypes.NeutralCultures) ) 
{
  try 
  {
    var sat = ass.GetSatelliteAssembly( c );
    // Add to dropdown
   }
   catch( FileNotFoundException ) 
   {
   }
}

答案 1 :(得分:0)

我认为你的问题是用文化来填充下拉列表。

为此你需要维护一个数据文件/数据表,其中提到了所有支持的文化,然后你可以用下拉列表绑定它。

请随意询问更多?

答案 2 :(得分:0)

我有想法:遍历应用程序虚拟目录中的所有 .resx文件,并以这种方式收集不同的文化名称。我还没有尝试过这个,但我认为这应该给我预期的结果。