ASP.NET 2.0导航功能之控制地图信息
一、简介 任何由多个页面组成的网站都需要某种导航用户接口,这是用两步来创建的 。首先,必须定义站点的逻辑结构;然后,添加用户接口元素来允许用户在站点 结构的各个部分之间来回移动。在ASP.NET 2.0以前,要求开发者自己来解决这 两个问题。然而,到了版本2.0以后,ASP.NET提供了一个简单的方法来定义一站 点的结构并且包括大量的Web控件-专门设计来显示站点导航用户接口。 在上一篇中我们分析了怎样通过导航Web控件来创建Web.sitemap XML站点地 图文件以及怎样显示站点导航信息,这包括: ·SiteMapPath,它显示一个breadcrumb(Home>Electronics>XBOX) ·TreeView,它显示一个可折迭的垂直显示的树,用于显示整个站点地图层 次 ·Menu,它显示一个水平或垂直对齐的菜单 上一篇中只对站点地图文件和导航Web控件的功能和能力提供了一个粗略介绍 。在这一部分里,我们将把注意力转到编程地控制站点地图信息,并详细地分析 一下SiteMapPath导航Web控件。 二、站点地图 本文中的示例使用在第一部分中创建的站点地图。你可以在第一部分看到该 站点地图XML文件的精确的句法或在本文最后下载下来。站点结构的图形化表示 使用于这些示例中,见下图: 三、编程控制站点地图 一个站点地图是一个相关联的站点地图结点的集合。典型地,每个站点地图 结点包含一标题,一个URL和一个描述。上面显示的图像是站点地图的一个示例 ,其中每个矩形代表一个站点地图结点。ASP.NET并不要求一特别的格式来指定 站点地图,尽管它的确提供了使用一XML格式文件的默认选择。(关于XML文件的 细节请参考第一篇) ASP.NET提供了一个类称为SiteMap-它提供只读的,编程地存取该站点地图。 这个类被两个控件内部使用,在本文的后面我们将分析这两个类: ·SiteMapPath-基于被访问页面和它的站点结构位置生成一个breadcrumb。 具体地说,该SiteMapPath从由SiteMap.CurrentNode属性返回的结点开始,往上 遍历这个层次结构直到根部。 ·SiteMapDataSource-这个控件创建一个层次结构的数据源-它映射该站点地 图的结构。为了在另外的Web控件中显示站点地图信息,例如TreeView或Menu, 该Web控件并不直接查询站点地图;而是,它们绑定到一个SiteMapDataSource控 件-它负责读取该站点地图结构。 SiteMap类有两个属性:RootNode和CurrentNode。这两个属性都返回 SiteMapNode实例。SiteMapNode类代表一个定义在站点地图中的结点并且具有描 述该结点的属性-Title,Url和Description,另外还有通过编程方式控制层次结 构的属性-ParentNode,ChildNodes,NextSibling,PreviousSibling,等等。 你可以在你的自己ASP.NET页中使用SiteMap类。例如,我们能在每个页面中 显示Next,Previous和Up链接-这只需通过添加三个HyperLink控件到站点的主页 面,另加上一点点编程以检查是否CurrentNode有一NextSibling, PreviousSibling或ParentNode。具体地说,你将添加下列标记到你的主页 面:
主页面的Page_Load事件处理器看上去如下:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |