2012-04-23 20 views
1

根據How localization works我可以翻譯頁面併爲每種語言提供不同的URL。從教程生成已翻譯頁面的本地化URL

例子:

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

我現在的問題是:假如我知道,我在我的語言目前,我該怎麼辦找出我的網頁的URL標題是在C#中?

什麼是使用C1 API創建當前語言頁面的正確鏈接的最佳方式?

+0

這是怎麼回事相關?這是一個複合C1問題。 – magnattic 2012-04-23 16:42:02

+0

Doh!沒關係。現在是星期一,我還沒有喝咖啡。抱歉。我會刪除它。 – JamieSee 2012-04-23 16:44:42

回答

1

變1號

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()); 
    } 
0

atticae,看看到CurrentPageNode - @ CurrentPageNode.MenuTitle

+0

http://docs.composite.net/ASP-NET/Composite-C1-API/Sitemap-Navigator – 2012-04-24 07:29:57

+0

當前頁面節點不是我想鏈接到的那個,但是。如果我沒有翻譯,PageNode的Menutitle只能幫助我。 – magnattic 2012-04-24 08:55:24

+0

atticae,請提供更多詳情,我們會幫助你 – aeont 2012-05-14 16:55:52