如何链接项目绑定到Sitecore的一个中继器

如何链接项目绑定到Sitecore的一个中继器

本文介绍了如何链接项目绑定到Sitecore的一个中继器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

的内容树如下:

 内容
  - 新闻资讯
  -Article1
  -Article2
  -Article3

每篇文章是数据模板 - 新闻文章,这是因为:

 新闻文章
  文章 - (场部分)
    相关文章 - (多重表 - 与数据源为'/内容/新闻列表)

每个文章有其他2篇,作为其相关文章。对于如:第一条有相关的文章2及3等

标记:

 < H3>相关文章:LT; / H3 GT&;
< ASP:直放站ID =rpArticles=服务器的ItemType =Sitecore.Data.Items.Item>
 <&HeaderTemplate中GT;
    < UL类=relatedArticles>
 < / HeaderTemplate中>
 <&ItemTemplate中GT;
    <立GT;
      < SC:链接字段=<%#Item.Paths.FullPath%GT; =服务器项=<%#的Container.DataItem%GT;>
          < SC:文本字段=标题=服务器/>
      < / SC:LINK>
    < /李>
 < / ItemTemplate中>
 < FooterTemplate>
    < / UL>
 < / FooterTemplate>
< / ASP:直放站>

code:

 私人无效的Page_Load(对象发件人,EventArgs的发送)
 {
   MultilistField relatedArticles = Sitecore.Context.Item.Fields [相关文章];
   rpArticles.DataSource = relatedArticles.TargetIDs.Select(ID => Sitecore.Context.Database.GetItem(ID));
   rpArticles.DataBind();
 }

以上标记为结果的解决方案
标题是字段的名称(例如:第一条,第二条等。)

当我浏览新闻文章1,相关文章应该是2及3,但输出不正确&放大器;还没有锚标记。只是纯文本。

什么是错误的,我code。

输出:

解决方案

Not sure why you changed your original question since it was almost correct. Since the item you are linking to is not specified in a General Link field you cannot use an sc:Link control, instead is far simpler to either use an ASP.Net Hyperlink control which is bound from code behind in the Item_Bound event or simply append the Item URL to an anchor link:

<ItemTemplate>
    <li>
        <a href="<%# Sitecore.Links.LinkManager.GetItemUrl((Sitecore.Data.Items.Item) Container.DataItem) %>">
            <sc:Text Field="Heading" runat="server" Item="<%#Container.DataItem %>"/>
        </a>
    </li>
</ItemTemplate>

这篇关于如何链接项目绑定到Sitecore的一个中继器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 20:04