您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > asp。net动态网站设计 ch7
第7章站点导航控件7.1ASP.NET站点导航概述7.2站点地图7.3TreeView控件7.4Menu控件7.5SiteMapPath控件7.1ASP.NET站点导航概述7.1.1站点导航的功能若要为网站创建一致的、容易管理的导航解决方案,可以使用ASP.NET站点导航。ASP.NET站点导航提供下列功能:站点地图。可以使用站点地图描述站点的逻辑结构。接着通过在添加或移除页面时修改站点地图(而不是修改所有网页的超链接)来管理页导航。ASP.NET导航控件。可以使用ASP.NET控件在网页上显示导航菜单。导航菜单以站点地图为基础。编程控件。可以以代码方式使用ASP.NET站点导航,以创建自定义导航控件或修改在导航菜单中显示的信息的位置。访问规则。可以配置用于在导航菜单中显示或隐藏链接的访问规则。自定义站点地图提供程序。可以创建自定义站点地图提供程序,以便使用自己的站点地图后端(如存储链接信息的数据库),并将提供程序插入到ASP.NET站点导航系统。7.1.2站点导航的工作方式通过ASP.NET站点导航,可以按层次结构描述站点的布局。例如,一个大学网站共有11页,其布局如下:中华大学院系设置计算机学院电子信息学院数学学院物理学院职能部门教务处财务处学生工作处科技处7.1.3站点导航控件创建一个反映站点结构的站点地图只完成了ASP.NET站点导航系统的一部分。导航系统的另一部分是在ASP.NET网页中显示导航结构,这样用户就可以在站点内轻松地移动。通过使用下列ASP.NET站点导航控件,可以轻松地在页面中建立导航信息:TreeView:此控件显示一个树状结构或菜单,让用户可以遍历访问站点中的不同页面。单击包含子节点的节点可将其展开或折叠。Menu:此控件显示一个可展开的菜单,让用户可以遍历访问站点中的不同页面。将光标悬停在菜单上时,将展开包含子节点的节点。SiteMapPath:此控件显示导航路径(也称为面包屑或眉毛链接)向用户显示当前页面的位置,并以链接的形式显示返回主页的路径。此控件提供了许多可供自定义链接的外观的选项。7.2站点地图站点地图是一种以.sitemap为扩展名的标准XML文件,主要为站点导航控件提供站点层次结构信息,默认名为Web.sitemap。“添加新项”对话框web.sitemap站点地图站点地图是一个标准XML文件。其中,第一个标记用于标识版本和编码方式,siteMap是站点地图根节点标记,包含若干个siteMapNode子节点,一个siteMapNode子节点下又可以包含若干个siteMapNode子节点,构成一种层次结构。siteMapNode节点的常用属性如下表所示:属性说明url设置用于节点导航的URL地址。在整个站点地图文件中,该属性必须唯一title设置节点名称description设计节点说明文字key定义当前节点的关键字roles定义允许查找该站点地图文件的角色集合,多个角色可用分号(;)或逗号(,)分隔Provider定义处理其他站点地图文件的站点导航提供程序名称,默认为XmlSiteMapProvidersiteMapFile设置包含其他相关SiteMapNode元素的站点地图文件7.3TreeView控件TreeView控件又称为树形导航控件。它的显示类似于一棵横向的树,可以展开或折叠树的节点来分类查看、管理信息,非常直观。TreeView控件由节点组成。树中的每个项都称为一个节点,它由一个TreeNode对象表示。节点类型的定义如下:包含其他节点的节点称为父节点(ParentNode)。被其他节点包含的节点称为子节点(ChildNode)。没有子节点的节点称为叶节点(LeafNode)。不被其他任何节点包含同时是所有其他节点的上级的节点是根节点(RootNode)。一个节点可以同时是父节点和子节点,但是不能同时为根节点、父节点和叶节点。节点为根节点、父节点还是叶节点决定着节点的几种可视化属性和行为属性。7.3.1TreeNode类TreeView控件中一个节点就是一个TreeNode类对象。属性说明Checked获取或设置一个值,该值指示节点的复选框是否被选中ChildNodes获取TreeNodeCollection集合,该集合包含当前节点的第一级子节点Depth获取节点的深度Expanded获取或设置一个值,该值指示是否展开节点ImageToolTip获取或设置在节点旁边显示的图像的工具提示文本ImageUrl获取或设置节点旁显示的图像的URLNavigateUrl获取或设置单击节点时导航到的URLParent获取当前节点的父节点Selected获取或设置一个值,该值指示是否选择节点ShowCheckBox获取或设置一个值,该值指示是否在节点旁显示一个复选框Target获取或设置用来显示与节点关联的网页内容的目标窗口或框架Text获取或设置为TreeView控件中的节点显示的文本ToolTip获取或设置节点的工具提示文本Value获取或设置用于存储有关节点的任何其他数据(如用于处理回发事件的数据)的非显示值ValuePath获取从根节点到当前节点的路径方法说明Collapse折叠当前树节点CollapseAll折叠当前节点及其所有子节点Expand展开当前树节点ExpandAll展开当前节点及其所有子节点Select选择TreeView控件中的当前节点ToggleExpandState切换节点的展开和折叠状态TreeNode类提供了以下构造函数:PublicSubNew()PublicSubNew(textAsString)PublicSubNew(textAsString,valueAsString)PublicSubNew(textAsString,valueAsString,imageUrlAsString)PublicSubNew(textAsString,valueAsString,imageUrlAsString,navigateUrlAsString,targetAsString)其中,参数text指定TreeView控件中的节点显示的文本。value指定与节点关联的补充数据,如用于处理回发事件的数据。imageUrl指定节点旁显示的图像的URL。navigateUrl指定单击节点时链接到的URL。target指定单击节点时用来显示链接到的网页内容的目标窗口或框架。7.3.2TreeView控件的属性、方法和事件1.TreeView控件的属性(1)DataSourceID属性该属性指定TreeView控件的数据源控件的ID属性。例如,可以指定与XML文件绑定的XmlDataSource控件或与站点地图绑定的SiteDataSource控件的ID。(2)ExpandDepth属性该属性获取或设置第一次显示TreeView控件时所展开的层次数。例如,若该属性设为2,则将展开根节点及根节点下方紧邻的所有子节点。(3)SelectedNode属性该属性返回用户从TreeView控件中选定的一个TreeNode对象。例如,以下语句在标签Label1中显示选择节点的文本:Label1.Text=选择的节点是:+TreeView1.SelectedNode.Text;(4)Nodes属性Nodes属性是TreeView控件中所有节点的集合,一个节点是一个TreeNode对象。可以通过索引来表示Nodes集合中的元素(索引从零开始),例如:TreeView1.Nodes表示TreeView1控件的所有节点集合。TreeView1.Nodes(0)表示TreeView1控件中第一个根节点。TreeView1.Nodes(0).ChildNodes表示TreeView1控件中第一个根节点的子节点集合。TreeView1.Nodes(0).ChildNodes(1)表示TreeView1控件中第一个根节点的第2个子节点。2.TreeView控件的方法方法说明ExpandAll打开树中的每个节点FindNode检索TreeView控件中指定值路径处的TreeNode对象3.TreeView控件的事件事件说明SelectedNodeChanged当选择TreeView控件中的节点时发生TreeNodeCheckChanged当TreeView控件中的复选框在向服务器的两次发送过程之间状态有所更改时发生。TreeNodeCollapsed当折叠TreeView控件中的节点时发生TreeNodeDataBound当数据项绑定到TreeView控件中的节点时发生TreeNodeExpanded当扩展TreeView控件中的节点时发生TreeNodePopulate当其PopulateOnDemand属性设置为true的节点在TreeView控件中展开时发生7.3.3TreeNodeCollection类TreeView控件中所有节点构成一个TreeNodeCollection类对象,也就是说,TreeView控件的Nodes属性就是一个TreeNodeCollection类对象。属性说明Count获取TreeNodeCollection对象中的项数Item获取TreeNodeCollection对象中指定索引处的TreeNode对象TreeNodeCollection类的主要方法有Add、AddAt、Clear、Contains、IndexOf、Remove、RemoveAt。7.3.4向TreeView控件中添加节点的方法向TreeView控件添加节点有以下几种方法。1.手工方式添加节点添加根节点添加子节点删除节点2.通过DataSourceID属性置数据源控件ASP.NET提供了SiteMapDataSource和XmlDataSource两个服务器控件,位于工具箱的“数据”选项卡中,用于ASP.NET站点导航。前者检索站点地图提供程序的导航数据,后者检索指定的XML文件的导航数据,并将导航数据传递到可显示该数据的控件(如TreeView和Menu控件)。3.通过编程方式添加节点由于TreeView控件的Nodes属性是一个TreeNodeCollection类对象,因此采用Add方法向其中添加TreeNode对象。这种方式在可以在运行时动态地增删TreeView控件的节点。ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadTreeView1.Nodes.Clear()DimnodeAsNewTreeNode(中华大学)TreeView1.Nodes.Add(node)node=NewTreeNode(院系设置)TreeView1.Nodes(0).ChildNodes.Add(node)node=NewTreeNode(计算机学院)TreeView1.Nodes(0).ChildNodes(0).ChildNodes.Add(node)node=NewTreeNode(电子信息学院)TreeView1.Nodes(0).ChildNodes(0).ChildNodes.Add(node)node=NewTreeNode(数学学院)TreeView1.Nodes(0).ChildNodes(0).ChildNodes.Add(node)node=NewTreeNode(物理学院)TreeView1.Nodes(0).ChildNodes(0).ChildNodes.Add(node)node=NewTreeNode(职能部门)TreeView1.Nodes(0).ChildNodes.Add(node)node=NewTreeNode(教务处)TreeView1.Nodes(0).ChildNodes(1).ChildNodes.Add(node)node=NewTreeNode(财务处)TreeView1.Nodes(0).Ch
本文标题:asp。net动态网站设计 ch7
链接地址:https://www.777doc.com/doc-3395711 .html