首页>教程>ASP.NET教程>ASP.NET Web Forms 导航

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

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

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索