我已經在我的國家網站上創建了一個本地網站(以及它的子頁面)主頁的別名 - 我無法弄清楚這是如何發生的。Sitecore LinkManager.GetItemUrl()解析爲別名
當某人登錄本地頁面時,我有一個控件(cs文件),用於在本地網頁的左側創建本地鏈接(到子頁面)。這些鏈接源自Sitecore上下文(當前項目的內容路徑)。
在我爲本地站點中的所有頁面創建了別名之後,我就注意到了這個問題。如果URL是一個Sitecore別名,則導航鏈接是爲子別名而構建的 - 否則它們將由Sitecore LinkManager解析,就像它們在創建別名之前一樣。但是,當我點擊原始本地項目(而不是別名)的頁面時,鏈接正在呈現別名:
childLink.NavigateUrl = LinkManager.GetItemUrl(child);
而且我已驗證該子項是有效的。有沒有人有任何建議,爲什麼LinkManager會爲別名渲染鏈接 - 以及如何避免這種情況?
您是否正在使用自定義'LinkProvider',如共享源庫中的[LinkProvider](http://trac.sitecore.net/LinkProvider/browser/Trunk/Links/LinkProvider.cs)? – 2012-01-09 18:45:49
不,它實際上來自Sitecore.Kernel.dll中的「Sitecore.Links.LinkManager」。 – sean 2012-01-09 19:25:15
您能提供一些正在發生的事例來更好地理解和解決問題嗎? – aspnetdeveloper 2012-01-09 19:24:15