如何使用标题从数据库生成分层菜单

时间:2011-12-19 12:36:33

标签: asp.net sql-server

是否可以为每个菜单列表添加标题?

类似的东西:

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
 <h3><%# Eval("Country") %><h3>
 <ul>
 </HeaderTemplate>
 <ItemTemplate>
     <li>
         <%# Eval("CityName") %>
     </li>
 </ItemTemplate>                
 </asp:Repeater>

所以你有类似的东西:

国家/地区1

   City 1
   City 2

国家/地区2

   City 1
   City 2

国家3

   City 1
   City 2

等等。这是从2个表格派生的单个查询:国家&amp;城市。 我无法弄清楚如何。也许像Java一样(How to display menu items from database),但我使用的是SQL Server。

请有人帮忙! 提前谢谢了, 五重峰

2 个答案:

答案 0 :(得分:1)

只需更改它,以便它是2个查询并在转发器中放置转发器。在国家中继器的rowdatabound事件中单独获取国家和城市,将城市过滤到当前国家,并将内部中继器包含在内。

<asp:Repeater ID="RepeaterHeader" runat="server">
<ItemTemplate>
 <h3><%# Eval("Country") %><h3>
 <ul>
 <asp:Repeater ID="RepeaterItem" runat="server">
 <ItemTemplate>
     <li>
         <%# Eval("CityName") %>
     </li>
 </ItemTemplate>               
</asp:Repeater>
</ul>
</ItemTemplate> 
 </asp:Repeater>

答案 1 :(得分:1)

你是可能的,(一切皆有可能)。

您可以参考以下网站,以便清楚地理解逻辑

http://www.w3schools.com/aspnet/showasp.asp?filename=demo_repeater1