将常规链接项绑定到Sitecore中的Repeater

时间:2016-03-10 13:23:33

标签: asp.net sitecore sitecore8

我在这里尝试了一些解决方案,但没有一个适合我。尝试将链接项绑定到转发器。我在渲染页面中看不到任何输出。甚至不是文本。

标记:

<asp:Repeater ID="rbBrandNav" runat="server" ItemType="Sitecore.Data.Items.Item">
  <HeaderTemplate>
   <ul>
  </HeaderTemplate>
  <ItemTemplate>
   <li>                                
     <sc:FieldRenderer FieldName="Destination URL" runat="server" />
   </li>
  </ItemTemplate>
  <FooterTemplate>
   </ul>
  </FooterTemplate>
 </asp:Repeater>

C#:

Sitecore.Data.Database context = Sitecore.Context.Database;
Sitecore.Data.Items.Item brandNavMenu = context.GetItem("{some-guid}");

if (brandNavMenu != null)
 {
   rbBrandNav.DataSource = brandNavMenu.GetChildren();
   rbBrandNav.DataBind();
 }

数据模板:

 Nav Item
   Nav Item Name - Single-Line Text
   Destination URL - General Link

创建示例项目

  About Us
    Nav Item Name - About Us
    Destination URL
       Link Type - External Link
       Title - About Us Title
       Description - About Us Des
       Url - www.example.com
       Target - _blank

当我将Item.Name绑定到转发器时,我看到了这些项目。但是当绑定链接时,没有输出。在viewsource中,我看到生成的4 <li>

1 个答案:

答案 0 :(得分:3)

尝试将Field属性添加到FieldRenderer中:

<sc:FieldRenderer FieldName="Destination URL" runat="server" Item="<%# Container.DataItem %>">