ASP.NET Web Forms 导航

ASP.NET Web Forms 带有内建的导航控件

网站导航

ASP.NET 中,菜单可存储在文件 web.sitemap 中,这个文件存放在网站的根目录下

ASP.NET 有三个导航控件

  1. Dynamic menus
  2. TreeViews
  3. Site Map Path

Sitemap 文件

本章,我们使用的 sitemap 文件如下

<?xml version="1.0" encoding="UTF-8" ?>
<siteMap>
    <siteMapNode title="Home" url="/yufei/aspnet">
        <siteMapNode title="Services" url="/aspnet/services">
            <siteMapNode title="Training" url="/aspnet/training"/>
            <siteMapNode title="Support"  url="/aspnet/support"/>
        </siteMapNode>
    </siteMapNode>
</siteMap>

创建 sitemap 文件的规则

  • XML 文件必须包含 围绕内容的 <siteMap> 标签
  • <siteMap> 标签只能有一个 <siteMapNode> 子节点( "home" 页面)
  • 每个 <siteMapNode> 可以有多个子节点(网页)
  • 每个 <siteMapNode> 带有定义页面标题和 URL 的属性

注意: sitemap 文件必须位于站点根目录下,URL 属性必须相对于该根目录

动态菜单

<asp:Menu> 控件可显示标准的站点导航菜单

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
    <asp:Menu runat="server" DataSourceId="nav1" />
</form>

上面代码中的 <asp:Menu> 控件是一个供服务器创建导航菜单的占位符

控件的数据源由 DataSourceId 属性定义

id="nav1" 把数据源连接到 <asp:SiteMapDataSource> 控件

<asp:SiteMapDataSource> 控件自动连接默认的 sitemap 文件 ( web.sitemap )

TreeView

<asp:TreeView> 控件可显示多级导航菜单

这种菜单看上去像一棵带有枝叶的树,可通过 + 或 - 符号来打开或关闭

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
    <asp:TreeView runat="server" DataSourceId="nav1" />
</form>

代码中的 <asp:TreeView> 控件是一个供服务器创建导航菜单的占位符

控件的数据源由 DataSourceId 属性定义

id="nav1" 把数据源连接到 <asp:SiteMapDataSource> 控件

<asp:SiteMapDataSource> 控件自动连接默认的 sitemap 文件 ( web.sitemap)

SiteMapPath

SiteMapPath 控件可显示指向当前页面的导航路径,路径显示为指向上级页面的可点击链接

与 TreeView 和 Menu 控件不同,SiteMapPath 控件 不使用 SiteMapDataSource

SiteMapPath 控件默认使用 web.sitemap 文件

<form runat="server">
    <asp:SiteMapPath runat="server" />
</form>

代码中的 <asp:SiteMapPath> 控件是一个供服务器创建导航菜单的占位符

如果 SiteMapPath 没有正确显示,很可能是由于 web.sitemap 文件中存在 URL 错误

ASP.NET 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.