好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ASP.NET2.0的网站导航的实现.docx

10页
  • 卖家[上传人]:ji****81
  • 文档编号:271977221
  • 上传时间:2022-03-31
  • 文档格式:DOCX
  • 文档大小:95.27KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •           ASP.NET2.0的网站导航的实现                    ASP.NET 2.0 的网站导航的实现李强强,张先球(兰州石化通信网络中心,兰州730060)摘要: 在以往的网站开发中,网站导航的实现是以大量代码的重写和很高的维护成本为代价的,随着动态网页技术的进一步的发展和Web 2.0 时代的到来,以及ASP.NET 2.0 的推出,网站导航模块的实现从原来的大量的代码重写中解放了出来,结构更加清晰,开发的成本更低,维护也更加简单了本文主要分析和介绍ASP.NET 2.0 中网站导航是如何实现的关键词: 网站导航;网站地图; 模板页1 前言在开发Web 应用程序的时候,网站导航是一件必须要做的事情,在ASP.NET 2.0 以前,人们主要通过客户端控件(user control),include pages 文件和添加链接(hyperlinks) 来实现网站的导航,这种技术最大的缺点是当其中的一些页面(pages) 有变动的时候,则要到导航页面逐个修改代码,这就大大降低了网站的开发效率,同时也增加了网站后期维护的成本和难度ASP.NET 2.0 的推出,则解决了上述的缺点和难点,给网站导航的实现提供了可行的技术。

      2 系统构成(1) 网站地图(Site maps):网站地图可以是一个xml 文件或者是自定义数据库表,它用来描述站点地图的逻辑结构当添加或者删除页面时只需修改网站地图(xml 文件或者数据库表) 而不是修改所以网页的超链接2) ASP.NET 控件:使用ASP.NET 控件在网页上显示导航菜单,主要有SiteMapPath,TreeView,Menu 控件导航菜单是以站点地图为数据基础来显示的3) 可编程控件(Programmatic controls):主要用来以代码方式使用ASP.NET 站点导航,以创建自定义导航控件或修改在导航菜单中显示的信息的位置4) 访问规则(Access rulers):用来配置在导航菜单中显示或隐藏链接的访问规则5) 站点地图提供程序(site-map providers):用来创建自定义站点地图提供程序,以便使用自定义的站点地图(如存储链接信息的数据库),并且集成到ASP.NET 站点导航系统3工作原理首先将所有的站点页面配置为基础访问点,并且根据访问点的级别建立树形结构;然后根据网站的访问规则建立访问点之间的关系,并且使用可继承的关系,这样就可以建立起网站页面为单位的有向图结构。

      site.map 用来保存站点的树形结构 custom data Store 则用来保存访问规则的有向图使用两个控件来分别显示树形结构的站点地图和有向图结构的访问规则向导 3.1创建网站地图网站地图是网站导航系统的数据基础,其他的操场都是在此基础上进行的ASP.NET 下默认的是命名为site.map 的 xml 格式文件,也可以是自定义的Database 数据表 3.2 站点地图加载进程默认的ASP.NET 站点地图提供程序System.Web.Xml原 SiteMapProv[来自www.lW]ider 加载站点地图数据作为XML 文档,并在应用程序启动时将其作为静态数据进行缓存,更改站点地图文件时,ASP.NET 会重新加载站点地图数据自定义的站点地图需要重写System.Web.SiteMapProvider 来实现站点地图的加载 3.3 站点导航控件完成ASP.NET 站点导航的站点地图的加载后,接下来需要在页面里展示导航结构,这样用户就可以根据站点结构在站点内轻松地浏览ASP.NET 中导航控件包括:siteMapPath、 TreeView 和Menu1) SiteMapPath 此控件显示导航路径,向用户显示当前页面的位置,并以链接的形式显示返回主页或者上一级的路径。

      用户可以清楚自己在哪个页面中,不至于迷失,也可以轻松地通过此控件返回到上一级2) TreeView 此控件显示导航结构的一个树状结构或菜单,用户通过此控件可以遍历访问站点中的不同页面,用户也可以单击包含子节点的节点,可将树状结构其展开或折叠3) Menu 此控件显示一个可展开的菜单,用户通过此控件可以遍历访问站点中的不同页面当用户用鼠标悬停在包含子菜单的父菜单上时,子菜单将展开包含的子菜单 3.4 站点导航API 通过导航控件API实现访问规则,只需编写极少的代码甚至不需要代码,就可以在页面中添加站点导航,也能以编程的方式处理站点导航当Web 应用程序运行时,ASP.NET 公开一个反映站点地图结构的SiteMap 对象SiteMap 对象的所有成员均为静态成员而SiteMap 对象会公开SiteMapNode 对象的集合,这些对象包含地图中每个节点的属性 3.5 站点导航体系结构图图1 示意了ASP.NET 站点导航组件之间的关系实现过程4.1 新建网站并添加web.sitemap 文件4.1.1 添加web.sitemap 文件在Microsoft Visual Studio 2005 中,新建一个ASP.NET 网站,添加一个web.sitemap 文件,并且添加如下内容:<?xml version=" 1.0" encoding=" utf-8" ?><siteMap xmlns = " SiteMap-File-1.0" ><siteMapNode url=" ~/Default.aspx" title=" 首页" de原scription=" 首页" ><siteMapNode title=" 产品介绍" url=" ~/Products/ Prod原uctsIntro.aspx" description=" 产品介绍" ><siteMapNode url=" ~/Products/Laptop.aspx" title=" 笔记本电脑" description=" 笔记本电脑" /><siteMapNode url = " ~/Products/Desktop.aspx" title = "台式机" description=" 台式机" /></siteMapNode><siteMapNode title=" 关于我们" url=" ~/aboutMe.as原px" description=" 关于我们." /></siteMapNode></siteMap>可以看到,在web.sitemap 文件包含一个根结点siteMap,而且,设置了一个父siteMapnode 结点。

      该结点表明是默认的站点首页, 在该父sitemapNod 结点下, 可以有若干个子 sitemapNode 结点,这样就构成了整个网站的层次结构,每个节点代表了网站的各子栏目 4.1.2 文件属性在每一个sitemapNod 节点中,有如下若干个属性:(1) URL 属性:该属性指出要导航的栏目的地址链接,必须是每个栏目的相对地址2) Title 属性:该属性指出每个子栏目的名称,显示在页面中3)Description属性:该属性指定时,则用户在鼠标移动到该栏目时,出现有关该栏目的相关提示,类似于tooltips 属性 4.2 添加模板页面 4.2.1 模板页面 ASP.NET 2.0 为网站开发人员提供了一种在一个文件中定义多个网站页面布局的功能这个以.master 为扩展名的文件,称之为母版页单个母版页可以定义所有页面的相同外观和通用行为,因而开发人员无须在每个页面中编写重复的代码,并且在需要修改页面布局时只需修改母版页即可, 利用母版页,开发人员可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础,这样就无需从头创建所有新网页,一个网站可以设置多种类型的母版页,以满足不同显示风格的需要。

      4.2.2 添加模板(master) 页面在添加完web.sitemap 文件后,再在新建的网站中添加一个名叫Navigation 的master 类型的页面(Navigation. master),然后向该页面中添加siteMapDataSource 控件,默认的ID 为 SiteMapDataSource1该控件会自动感应绑定web.sitemap,以 xml 格式web.sitemap 为数据源接下来就可以利用siteMap原 DataSource 和ASP.NET 控件treeview、menu、sitemappath 进行展示导航了在Navigation.master 中添加两个控件treeview 和sitemap原 path,设置数据源为SiteMapDataSource1,代码如下: <%@ Master Language=" C#" AutoEventWireup=" true"CodeFile=" MasterPage.master.cs" Inherits=" MasterPage"%><! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns=" http://www.w3.org/1999/xhtml" ><head runat=" server" ><title>导航页面</title></head><body><form id=" form1" runat=" server" ><div><asp:SiteMapDataSource ID = " SiteMapData原Source1" runat=" server" /><asp:SiteMapPath ID = " SiteMapPath1" runat = "server" ></asp:SiteMapPath><asp:TreeView ID=" TreeView1" runat=" server"DataSourceID=" SiteMapDataSource1" ></asp:TreeView></div><div>&l。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.