ASP.NET 2.0站点导航功能之建立导航
一、简介 任何由多个页面组成的网站都需要某种导航用户接口。一个导航用户接口可 能象一些该站点中的到另外一些页面的静态超级链接一样得简单,或者可能包含 菜单或树形控件的使用。但是,在为该站点创建一个导航用户接口之前,首先必 须定义站点的逻辑结构。(这个逻辑结构常常被参照为一个站点地图。)例如,一 个象Amazon.com这样的网站被组织成各个部分-其中包括产品栏如电子学书,计 算机书,DVD等等。其中的每个还可能含有子部分。书目按类型划分,象CD,小 说,历史书,浪漫书类,等等。典型地,这些逻辑结构形成一个分类层次。在下 面的屏幕快照显示出Amazon.com的站点地图的缩略版本。 一旦定义了站点地图,就可以创建站点的导航用户接口。在Amazon.com站点 ,主页面在页面左边列出到各个分部分的超级链接。进入到一特定部分之后,在 左边将显示该部分的子部分信息。然而,也可以使用另外的导航用户接口:你可 能有一个树来显示各个部分和子部分,或用一个菜单作顶级菜单项来列举如书籍 ,电子产品,DVD,等等;而每个菜单项的子菜单又包含各个部分的子部分。 在ASP.NET 2.0以前,开发者典型地自己解决他们的站点导航功能.然而, ASP.NET 2.0使得定义一站点的结构并且使用普通导航用户接口元素实现它轻松 极了。在本文中,我们将分析一下ASP.NET 2.0的站点导航特征。 二、ASP.NET 1.x时代的站点导航 ASP.NET 版本1.x确实没有提供任何内置的站点导航支持;因此,大多数开发 者实现他们自己的站点导航功能。在创建他们自己的站点导航功能时,开发者面 临两个挑战: 1. 决定怎样把站点的结构信息串行化到一张站点地图中 2. 实现导航用户接口元素 为解决第一个问题,开发者们需要决定如何建模该站点的结构。要把这些信 息放置到一个XML文件呢?还是添加一数据库表来存储站点的各个部分及其联系 方式?对于支持用户帐户的站点,可能有只对属于特别角色的用户是可存取的部 分。而且,支持多种语言的站点某种程度上都需要提供针对各个站点部分的翻译 。 在决定需要存储什么信息来描述站点的结构以及这些信息怎样被串行化(数据 库?XML文件?另外的东西?)以后,开发者还要面对第二个挑战-怎样向用户显示这 个站点的结构。一个常用的导航用户接口元素是菜单;然而,ASP.NET 1.x中并 没有提供内置的菜单Web控件-这意味着开发者要自己花钱购买或自己构建。 让我们总结一下,在ASP.NET版本1.x中实现站点导航并不是多么困难的任务 ;但是,这是必须要做的另外一个任务。而且,既然没有站点导航的内置支持, 每个开发者可能会找到他自己的独特方法,这提高了开发新手学习曲线的陡峭程 度-他们必须学习定制站点导航逻辑。 三、ASP.NET 2.0中的站点导航 在ASP.NET 2.0中实现站点导航轻而易举,这归功于构建站点导航特征。内部 地,ASP.NET提供了一组可编程API-用它可以进行站点地图查询。ASP.NET不需要 为指定站点地图而提供特殊格式,尽管它确实提供了一种使用XML格式文件的缺 省选择。关于怎样串行化站点地图的细节是可以被定制的,因为ASP.NET 2.0的 站点导航特征使用一种提供者模型。该提供者模型使开发者能够定制一个特定 ASP.NET分系统的内部实现-只要它们保持向前引用的API是相同的。 简言之,你可以使用ASP.NET 2.0的缺省的基于XML的方法来指定你的网站的 站点地图,或仅加上一点编码,你就能使用现有的定制方法,或其它一些方法。 (本文将讨论使用缺省的技术(基于XML和站点地图);本系统的后一篇文章将分析 怎样定制站点导航提供者。) 除了提供一种可定制的手段来指定站点结构外,随同ASP.NET 2.0一起发行的 还有一些导航Web控件-它们使得显示站点地图就象拖放一个控件到你的ASP.NET 页面一样容易: 1. SiteMapPath-显示一个b |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |