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>
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>
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>