ASP.NET 2.0数据教程之三:母板页和站点导航
[1] ASP.NET 2.0数据教程之三:母板页和站点导航
[2] ASP.NET 2.0数据教程之三:母板页和站点导航
[3] ASP.NET 2.0数据教程之三:母板页和站点导航
[4] ASP.NET 2.0数据教程之三:母板页和站点导航
[5] ASP.NET 2.0数据教程之三:母板页和站点导航
[6] ASP.NET 2.0数据教程之三:母板页和站点导航
[7] ASP.NET 2.0数据教程之三:母板页和站点导航
[8] ASP.NET 2.0数据教程之三:母板页和站点导航
[9] ASP.NET 2.0数据教程之三:母板页和站点导航
[10] ASP.NET 2.0数据教程之三:母板页和站点导航
[11] ASP.NET 2.0数据教程之三:母板页和站点导航
[12] ASP.NET 2.0数据教程之三:母板页和站点导航
[13] ASP.NET 2.0数据教程之三:母板页和站点导航
[2] ASP.NET 2.0数据教程之三:母板页和站点导航
[3] ASP.NET 2.0数据教程之三:母板页和站点导航
[4] ASP.NET 2.0数据教程之三:母板页和站点导航
[5] ASP.NET 2.0数据教程之三:母板页和站点导航
[6] ASP.NET 2.0数据教程之三:母板页和站点导航
[7] ASP.NET 2.0数据教程之三:母板页和站点导航
[8] ASP.NET 2.0数据教程之三:母板页和站点导航
[9] ASP.NET 2.0数据教程之三:母板页和站点导航
[10] ASP.NET 2.0数据教程之三:母板页和站点导航
[11] ASP.NET 2.0数据教程之三:母板页和站点导航
[12] ASP.NET 2.0数据教程之三:母板页和站点导航
[13] ASP.NET 2.0数据教程之三:母板页和站点导航
系列文章导航:
ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据
ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值
ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之八:使用两个DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之十:使用 GridView 和DetailView实现的主/从报表
ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
为了显示Basic Reporting,Filtering Reports和Customized Formatting的子SiteMapNode,我们可以向先前的Repeater的ItemTemplate里添加另外一个Repeater。第二个Repeater将绑定到SiteMapNode实例的子结点属性,如下:
1
<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
2
<ItemTemplate>
3
<li>
4
<asp:HyperLink runat="server"
5
NavigateUrl="<%# Eval("Url") %>">
6
<%
# Eval("Title") %></asp:HyperLink>
7
8
<asp:Repeater runat="server"
9
DataSource="<%# ((SiteMapNode)
10
Container.DataItem).ChildNodes %>">
11
<HeaderTemplate>
12
<ul>
13
</HeaderTemplate>
14
15
<ItemTemplate>
16
<li>
17
<asp:HyperLink runat="server"
18
NavigateUrl="<%# Eval("Url") %>">
19
<%
# Eval("Title") %></asp:HyperLink>
20
</li>
21
</ItemTemplate>
22
23
<FooterTemplate>
24
</ul>
25
</FooterTemplate>
26
</asp:Repeater>
27
</li>
28
</ItemTemplate>
29
</asp:Repeater>
<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">2
<ItemTemplate>3
<li>4
<asp:HyperLink runat="server"5
NavigateUrl="<%# Eval("Url") %>">6

<%
# Eval("Title") %></asp:HyperLink>7

8
<asp:Repeater runat="server"9
DataSource="<%# ((SiteMapNode)10
Container.DataItem).ChildNodes %>">11
<HeaderTemplate>12
<ul>13
</HeaderTemplate>14

15
<ItemTemplate>16
<li>17
<asp:HyperLink runat="server"18
NavigateUrl="<%# Eval("Url") %>">19

<%
# Eval("Title") %></asp:HyperLink>20
</li>21
</ItemTemplate>22

23
<FooterTemplate>24
</ul>25
</FooterTemplate>26
</asp:Repeater>27
</li>28
</ItemTemplate>29
</asp:Repeater>这两个Repeater生成的HTML标记(为了节省篇幅一些标记被移除了):
1
<li>
2
<a href="/Code/BasicReporting/Default.aspx">Basic Reporting</a>
3
<ul>
4
<li>
5
<a href="/Code/BasicReporting/SimpleDisplay.aspx">
6
Simple Display</a>
7
</li>
8
<li>
9
<a href="/Code/BasicReporting/DeclarativeParams.aspx">
10
Declarative Parameters</a>
11
</li>
12
<li>
13
<a href="/Code/BasicReporting/ProgrammaticParams.aspx">
14
Setting Parameter Values</a>
15
</li>
16
</ul>
17
</li>
18
19
<li>
20
<a href="/Code/Filtering/Default.aspx">Filtering Reports</a>
21
22
</li>
23
24
<li>
25
<a href="/Code/CustomFormatting/Default.aspx">
26
Customized Formatting</a>
27
28
</li>
<li>2
<a href="/Code/BasicReporting/Default.aspx">Basic Reporting</a>3
<ul>4
<li>5
<a href="/Code/BasicReporting/SimpleDisplay.aspx">6
Simple Display</a>7
</li>8
<li>9
<a href="/Code/BasicReporting/DeclarativeParams.aspx">10
Declarative Parameters</a>11
</li>12
<li>13
<a href="/Code/BasicReporting/ProgrammaticParams.aspx">14
Setting Parameter Values</a>15
</li>16
</ul>17
</li>18

19
<li>20
<a href="/Code/Filtering/Default.aspx">Filtering Reports</a>21
22
</li>23

24
<li>25
<a href="/Code/CustomFormatting/Default.aspx">26
Customized Formatting</a>27
28
</li>