为翻译的页面生成本地化的URL

时间:2012-04-23 14:17:43

标签: c# asp.net .net localization c1-cms

根据How localization works,我可以翻译网页,并为每种语言提供不同的网址。

教程中的示例:

  • http://butterflysite.co.uk/en-GB/Home/contact/Newoffice.aspx(英文)
  • http://vlindersite.nl/nl-NL/thuis/contact/NieuwKantoor.aspx(荷兰语)

我现在的问题是:假设我知道我目前使用哪种语言,如何找到我的网页的网址在C#中的内容?

使用C1 API以当前语言创建指向页面的正确链接的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

变种No1

    public string GetPageUrl(Guid pageId, CultureInfo locale)
    {
        using(var conn = new DataConnection(PublicationScope.Published, locale))
        {
            var pageNode = new SitemapNavigator(conn).GetPageNodeById(pageId);
            return pageNode != null ? pageNode.Url : null;
        }
    }

变种No2

    public string GetPageUrl(Guid pageId, CultureInfo locale)
    {
        var pageUrlData = new PageUrlData(pageId, PublicationScope.Published, locale);
        return PageUrls.BuildUrl(pageUrlData, UrlKind.Public, new UrlSpace());
    }

答案 1 :(得分:0)

atticae,看看CurrentPageNode - @ CurrentPageNode.MenuTitle