【发布时间】:2011-01-16 09:31:18
【问题描述】:
我正在尝试从用于呈现它的 ASP.NET 中继器外部的站点地图中继器访问当前的“活动”顶级节点,这是出于 CSS 样式目的,因为我想将子节点放在后续具有不同样式的水平行。目前我有以下代码,我无法使用 CSS 正确显示。
<asp:SiteMapDataSource ID="topNavLevel" runat="server" ShowStartingNode="false" />
<asp:Repeater runat="server" ID="rptParent" DataSourceID="topNavLevel">
<HeaderTemplate><ul id="lawMenu" class="topMenu"></HeaderTemplate>
<ItemTemplate>
<li>
<asp:HyperLink runat="server" ID="parentLink" NavigateUrl='<%# Eval("Url") %>'><span class="t"><%# Eval("Title") %></span><span class="l"></span><span class="r"></span></asp:HyperLink>
<asp:Repeater ID="rptChild" runat="server" DataSource='<%# ((SiteMapNode) Container.DataItem).ChildNodes %>'>
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<asp:HyperLink ID="childLink" runat="server" NavigateUrl='<%# Eval("Url") %>'><span class="t"><%# Eval("Title") %></span><span class="l"></span><span class="r"></span></asp:HyperLink>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ul></FooterTemplate>
</asp:Repeater>
我想在下一个浅蓝色元素上显示子节点,如果不使用子转发器呈现,我可以从单独的 div 中完美地完成。在下图中,博客和服务是顶级节点,它们的后续节点(每个 2 个)应显示在下面的浅蓝色行中。这可能吗?
【问题讨论】:
标签: asp.net css repeater sitemap