我在这里尝试了一些解决方案,但没有一个适合我。尝试将链接项绑定到转发器。我在渲染页面中看不到任何输出。甚至不是文本。
标记:
<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>
。
答案 0 :(得分:3)
尝试将Field属性添加到FieldRenderer中:
<sc:FieldRenderer FieldName="Destination URL" runat="server" Item="<%# Container.DataItem %>">