创建指向 Sitecore 项目的链接

发布于 2024-07-15 02:04:27 字数 519 浏览 6 评论 0原文

我知道我以前曾经这样做过,但我似乎不记得在哪里或如何做。

我想创建指向 Sitecore 中项目的链接。 此代码:

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

I know I have done this before but I can't seem to remember where or how.

I want to create a link to an Item in Sitecore.
This code:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();

Produces the following string:

http://localhost/sitecore/content/Home/Item1/Item11/thisItem

I would like to have this string instead:

http://localhost/Item1/Item11/thisItem.aspx

What is the correct way to get the path to the item? In this case I can't use a normal Sitecore link:

Sitecore.Web.UI.WebControls.Link

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

静谧幽蓝 2024-07-22 02:04:27

您需要这个,假设您正在运行 Sitecore v6 或任何更新的版本(使用 8.2-6 进行测试,也应该适用于 9):

Sitecore.Links.LinkManager.GetItemUrl(item);

You're needing this one, assuming you're running Sitecore v6 or anything more recent (tested with 8.2-6, should work with 9 too):

Sitecore.Links.LinkManager.GetItemUrl(item);
风苍溪 2024-07-22 02:04:27

如果您仍在使用 Sitecore 5.3,则可以使用它。 请注意,此方法在 Sitecore 6.0 中已弃用。

string url = item.Paths.GetFriendlyUrl();

If you are still using Sitecore 5.3, you can use this. Be warned this method is deprecated in Sitecore 6.0.

string url = item.Paths.GetFriendlyUrl();
恬淡成诗 2024-07-22 02:04:27

您的网络控制:

<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);

Your Web Control:

<asp:HyperLink ID="HyperLinkItem" runat="server">
    Item
</asp:HyperLink>

Your Code:

var homeItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
HyperLinkItem.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem);
挖个坑埋了你 2024-07-22 02:04:27

您可以如下呈现项目链接:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return Sitecore.Links.LinkManager.GetItemUrl(itm);

You can render item link as below:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return Sitecore.Links.LinkManager.GetItemUrl(itm);
黑色毁心梦 2024-07-22 02:04:27

试试这个

  <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);

Try this

  <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);
作业与我同在 2024-07-22 02:04:27

您也可以这样做:

Item.Paths.FullPath

它与:

Sitecore.Links.LinkManager.GetItemUrl(item);

You can do by this also:

Item.Paths.FullPath

It is same as:

Sitecore.Links.LinkManager.GetItemUrl(item);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文