ASP.NET Web Forms - 网站导航(Sitemap 文件)

news/2024/7/9 3:52:49

【参考】ASP.NET Web Forms - 导航


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


网站导航

维护大型网站的菜单是困难而且费时的。

在 ASP.NET 中,菜单可存储在文件中,这样易于维护。文件通常名为 web.sitemap,并且被存放在网站的根目录下。

此外,ASP.NET 有三个心的导航控件:

  • Dynamic menus
  • TreeViews
  • Site Map Path

Sitemap 文件

在本教程中,使用下面的 sitemap 文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
<siteMapNode title="Home" url="/aspnet/w3home.aspx">
<siteMapNode title="Services" url="/aspnet/w3services.aspx">
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
</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 文件。

提示:如果 SiteMapPath 没有正确显示,很可能是由于 web.sitemap 文件中存在 URL 错误(打印错误)。

代码实例:

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

上面实例中的 <asp:SiteMapPath> 控件是一个供服务器创建导航菜单的占位符。


http://lihuaxi.xjx100.cn/news/246549.html

相关文章

点云匹配方法NDT(正态分布变换)

1. 正态分布变换(NDT) 在点云匹配中&#xff0c;ICP基于距离直接最优化变换矩阵的参数&#xff0c;由于是欠定方程且旋转矩阵的约束&#xff0c;使得结果很难优化&#xff0c;为此在新的维度优化变换矩阵的参数&#xff0c;被很好的提出&#xff1a; 先将参考点云&#xff08…

随笔

个人觉得杨过还是喜欢郭芙的&#xff0c;郭芙也是喜欢杨过的&#xff0c;但互相有一种对峙的心理&#xff0c;放不下自己的面子。原著&#xff1a;一见杨过&#xff0c;难误终身。 看电视剧&#xff0c;看他两个对话&#xff0c;在加上那个配乐&#xff0c;还真受不了。

html点击保持,如何保持:点击元素后的活动CSS样式

我使用anchor作为我的网站导航。aboutworksCSS#nav {margin-left: 50px;margin-top: 50px;text-transform: uppercase;}.navitem {background: #333;color: white;width: 230px;height: 50px;font-size: 25px;line-height: 50px;padding-left: 20px;-webkit-user-select: none;…

socks5   代理

安装gcc和make,并安装ss5的依赖包&#xff1a;yum -y install pam-devel openldap-devel cyrus-sasl-devel gcc automake make openssl openssl-devel2.下载ss5安装包并编译安装&#xff1a;wget -c http://sourceforge.net/projects/ss5/files/ss5/3.8.9-2/ss5-3.8.9-2.tar.gz…

android学习笔记之十服务(Service)

2019独角兽企业重金招聘Python工程师标准>>> Service拥有一个单独进程的模块. 1,继承自Service类,须实现public IBinder onBind(Intent intent) 2,通过startServie触发运行,stopService终止运行 生命周期: onCreate(如果是第一次运行) -> onStart -> onDest…

C++程序环境变量使用

1. 永久改变环境变量 修改如下两个文件中的任意一个即可 1. /etc/profile 2 .bash_profile 其中&#xff0c;/etc/profile是全局的环境变量&#xff0c;对所有用户生效&#xff0c;而.bash_profile只对当前用户起作用。 2. 在程序外临时设置环境变量 2.1. 对所有程序设置变…

CSS面试复习(三):预处理器、工程化方案、三大框架中的CSS

一、预处理器 1、介绍 基于CSS的另一种语言、通过工具编译成CSS、添加了很多CSS不具备的特性、能提升CSS文件的组织 2、less嵌套 3 、sass嵌套 4、 less变量 5、sass变量 6、less mixin 7、sass mixin 8、less extend 9、sass extend 10、less loop 11、sass loop 12、less imp…

2014年秋广州华师在线计算机的作业答案,18秋华师《C语言程序设计B》在线作业-4辅导资料...

18秋华师《C语言程序设计B》在线作业-4辅导资料 (9页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;2.90 积分18秋华师《C语言程序设计B》在线作业-41、B 2、C 3、D 4、C 5、A 一、单选题共50题&…