如何以编程方式检索EPi Server网站的所有已启用语言的列表?

时间:2013-10-15 07:40:24

标签: c# localization culture episerver

我只想获得EPi Server网站所有已启用语言的列表(在管理模式下的“管理网站语言”面板中启用),并且最好还能够检索标志图标的路径,当然还有文化名称/ ID。

我正在使用EPiServer 6 R2,所以如果代码适用于该版本,那将很可爱。把我指向正确的方向也会很棒。

2 个答案:

答案 0 :(得分:10)

你的意思是

ServiceLocator.Current.GetInstance<ILanguageBranchRepository>().ListEnabled();

但是你确实根本不使用ServiceLocator,而是将ILanguageBranchRepository作为构造函数参数,将由StructureMap自动解析。这为您的类提供了一个清晰的依赖列表,并使单元测试变得更加容易,因为您不必模拟ServiceLocator。

答案 1 :(得分:8)

在EPiServer.DataAbstraction中你有LanguageBranch.ListEnabled()。

看一下这个文件,看看它在管理模式下是如何绑定的: C:\ Program Files(x86)\ EPiServer \ CMS \ 6.1.379.0 \ Application \ UI \ CMS \ Admin \ EditLanguageBranches.aspx