您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第9章 ASP.NET中的站点导航技术
第9章ASP.NET中的站点导航技术对于一个大型的企业级网站,可能拥有成百上千的网页,导航就变得十分重要。好的导航系统能够便利用户在多个页面间来回浏览,增加应用程序的可交互性。ASP.NET提供了内置的站点导航技术,让开发人员创建站点导航时变得轻松。本章内容有:•ASP.NET中的站点地图•用于导航的高级服务器控件TreeView•菜单和导航服务器控件Menu9.1站点地图站点地图,由其名称不难想象,其功能是用于定于站点结构。早些年,一些大中型的网站为了让用户便于找到合适的网页,特别定制了一些站点目录文件,称之为站点地图。在ASP.NET中,微软为了简化创建站点地图的工作,提供了一套用于导航的站点地图技术。ASP.NET中的站点地图导航技术由如下的三个组件组成:1.一个用于定义站点结构的XML文件,又称为站点地图文件。2.用来绑定到XML文件的站点地图SiteMapDataSource数据源控件。3.用于显示站点地图的导航控件。9.1.1定义站点地图文件站点地图文件是一个名为Web.Sitemap的XML文件,在详细讨论该文件细节前,先来了解一下ASP.NET站点地图的基本原理。9.1.2使用SiteMapPath控件在上一小节中己经定义了一个站点导航文件,下面将演示如何使用SiteMapPath控件来显示站点的导航路径。SiteMapPath是一个非常方便的控件,可以根据在Web.sitemap定义的数据自动的显示网站的路径,并能确定当前页的位置,可以自定义导航的外观。9.1.3SiteMap类使用SiteMapPath控件,开发人员可以不需要编写代码就可以在页面中添加站点导航,也可以对站点地图进行编程操作,ASP.NET公开了一个反映站点地图结构的静态的SiteMap对象,该对象公开SiteMapNode对象的集合,用于表示站点中的每个节点。9.1.4URL地址映射ASP.NET提供了URL地址映射的功能,尽管功能非常有限,但是还是可以简化开发人员编写自定义地址映射的麻烦。一些情况下,开发人员可能希望隐藏真实的网页地址,特别是一些保密性要求强的网站,使用地址映射就很有必要。另外一些情况就是开发人员希望保持网页的友好性,为用户提供友好助记的URL,以便于访问能很轻易的记住所到访过的网页。9.2TreeView控件TreeView控件的应用可以说是相当的普及,每个开发人员,每个接触电脑的用户,基本上每天都有和TreeView控件打交道。这所以这么说,是因为Windows的资源管理器左侧就是一个相当经典的TreeView控件的应用,只要使用电脑,就不大可能不和资源管理器打交道。9.2.1使用TreeView控件为了演示使用TreeView控件,本节创建一个名为TreeViewDemo的ASP.NET网站。进入Default.aspx设计视图,从工具箱的导航栏中拖一个TreeView控件到设计视图,VS2010会自动弹出TreeView控件的任务窗口,在该窗口中提供了几个功能可以简化创建TreeView控件的过程。9.2.2以编程的方式添加节点使用节点编辑器以静态的方式添加节点虽然好用,但是许多情况下树状数据是动态的,需要以编程的方式进行添加。TreeView控件提供了一个Nodes属性,该属性表示TreeView控件的节点的集合。每个TreeNode对象也具有一个ChildNodes属性,表示当前节点的子节点的集合。9.2.3使用TreeView控件导航TreeView控件可以十分方便的显示站点地图数据,比如可以通过编程的方式动态的加载站点地图数据。9.2.4绑定到XML文件TreeView具有显示层次结构数据的优势,而开发人员通常使用XML文件来保存层次结构的数据。TreeView控件通过与XmlDataSource控件的结合,使绑定XML文件变得非常简单。9.2.5按需加载节点如果要加载到TreeView控件中的数据量非常大,一次性加载将显著增加服务器端的负载和客户端内存的占用量,并且会造成请求的延迟。Treeview控件提供了按需加载的特性解决这个问题。在首次加载时,TreeView只显示顶级节点的少量数据,当用户点击TreeView中的展开节点图标时,将再次从服务器端加载所需要的数据。9.2.6带复选框的TreeView控件当用户在TreeView中单击一项时,将会触发TreeView控件的SelectedNodeChanged事件。9.3Menu控件ASP.NET提供了另一个重量级的导航控件Menu,使用该控件,开发人员可以在网页上模拟Windows的菜单导航效果。ASP.NET的Menu控件可以呈现两种模式:•静态模式:Menu控件的菜单项是完全展开的,用户可以单击菜单任何菜单项。•动态模式:默认只显示部分内容,当用户移动鼠标到静态内容项上时,则弹出子菜单项,类似于Windows菜单。本节将详细介绍该控件的使用方式。9.3.1使用Menu控件VS2010同样对Menu控件提供了强大的设计时支持,下面新建一个MenuDemo的ASP.NET网站,按如下所示的步骤来使用这个功能强大的控件。9.3.2以编程的方式添加菜单项Menu控件提供了一个Items的集合属性,这是一个MenuItemCollection集合类型的属性,可以向该属性添加菜单项来实现动态添加菜单项的效果。9.3.3使用Menu控件导航Menu控件作为一种导航控件,同样的可以轻松的绑定到SiteMapDataSource控件来实现站点导航。9.3.4一个站点地图示例下面举一个站点地图的示例,该示例使用了两个Menu控件,一个Menu控件用于显示顶层菜单,当单击顶层菜单中的不同的菜单项后,另一个菜单项显示其相应的子菜单。9.3.5绑定到XML文件Menu控件也可以与XML文件进行轻松的绑定,通过将Menu控件的DataSourceID属性指定为XmlDataSource控件即可。9.3.6Menu控件样式Menu控件与TreeView控件类似,提供了大量的外观控制项,Menu控件具有一个MenuItemStyle菜单样式,该样式定义了与菜单项相关的属性比如ItemSpaceing、HorizontalPadding和VerticalPadding。用户可以为不同层次的菜单定义不同的样式,由于Menu控件具有两种菜单模式,因此分别提供了对这两种模式的样式定义。9.3.7为Menu控件应用模板Menu控件也支持使用模板来定义其外观,Menu控件具有两种类型的模板:•StaticItemTemplate模板:包含静态菜单自定义呈现内容的模板•DynamicItemTemplate模板:包含动态菜单自定义呈现内容的模板。9.4小结本节介绍了ASP.NET的站点导航技术,首先介绍了站点地图,如何定义站点地图文件使用SiteMapPath显示站点地图以及SiteMap类,并简单的介绍了一下ASP.NET内置的URL地址映射功能来提供友好的URL地址名称。9.5常见面试题9.5.1说出3种以上能在ASP.NET中实现导航的控件用ASP.NET实现网站非常方便,就在于它提供了很多控件,可以方便的设计网站中的各种功能,如树、菜单等。本章就讲解了3种导航控件:1.SiteMapPath地图控件2.TreeView树控件3.Menu菜单控件9.5.2XML文件在导航中有什么作用?针对一些大型的数据,我们一般使用数据库来提供数据,但针对一些导航类的简单数据,我们通常使用XML文件提供数据。本章第9.2.4节和第9.3.5节分别讲解了如何使用XML为导航控件提供数据,让我们可以方便的设计和修改导航内容。
本文标题:第9章 ASP.NET中的站点导航技术
链接地址:https://www.777doc.com/doc-3401561 .html