我知道我以前做过这件事,但我似乎无法记住在哪里或如何。
我想在Sitecore中创建一个Item的链接。 这段代码:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();
生成以下字符串:
http://localhost/sitecore/content/Home/Item1/Item11/thisItem
我想改用这个字符串:
http://localhost/Item1/Item11/thisItem.aspx
获取物品路径的正确方法是什么?在这种情况下,我无法使用正常的Sitecore链接:
Sitecore.Web.UI.WebControls.Link
答案 0 :(得分:36)
你需要这个,假设你正在运行Sitecore v6或更新的东西(用8.2-6测试,也应该用9):
Sitecore.Links.LinkManager.GetItemUrl(item);
答案 1 :(得分:4)
如果您仍在使用Sitecore 5.3,则可以使用此功能。请注意,Sitecore 6.0中不推荐使用此方法。
string url = item.Paths.GetFriendlyUrl();
答案 2 :(得分:1)
您的网络控制:
<asp:HyperLink ID="HyperLinkItem" runat="server">
Item
</asp:HyperLink>
您的密码:
var homeItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
HyperLinkItem.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem);
答案 3 :(得分:1)
您可以按如下方式呈现项目链接:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return Sitecore.Links.LinkManager.GetItemUrl(itm);
答案 4 :(得分:0)
试试这个
<asp:HyperLink ID="hlItem" runat="server">
</asp:HyperLink>
aspx.cs
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
hlItem.Navigateurl =sitecore.links.linkmanager.getitemurl(itm);
答案 5 :(得分:-6)
你也可以这样做:
Item.Paths.FullPath
与:
相同Sitecore.Links.LinkManager.GetItemUrl(item);