我正在尝试获取EPiserver中当前页面的可用语言列表。我目前有以下内容:
public static IHtmlString HrefLangLinks(this PageData currentPage)
{
IContentRepository repo = ServiceLocator.Current.GetInstance<IContentRepository>();
var pageLanguagesBranches = repo.GetLanguageBranches<PageData>(currentPage.ContentLink).ToList();
var availablePageLanguages = FilterForVisitor.Filter(pageLanguagesBranches).OfType<PageData>();
// Dictionary<String, String>
return null;
}
然而,目前availablePageLanguages
包含:{System.Linq.Enumerable.d__95}
如何获取语言名称列表?例如de-DE,en-DE或de-AT吗?
答案 0 :(得分:1)
要获取特定页面的可用语言,可以从当前页面读取PageData.ExistingLanguages
属性。这将为您带来IEnumerable<CultureInfo>
的结果。要从每个CultureInfo
对象获取语言代码,请阅读CultureInfo.Name
属性。
代码如下:
currentPage.ExistingLanguages.Select(culture => culture.Name);