当前位置:文档之家› 第10章 网站导航控件

第10章 网站导航控件

<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="/AspNet/SiteMap-File-1.0" > <siteMapNode url="WebForm3.aspx" title="中华大学" description=""> <siteMapNode url="school.aspx" title="院系设置" description=""> <siteMapNode url="school1.aspx" title="计算机学院" description="" /> <siteMapNode url="school2.aspx" title="电子信息学院" description="" /> <siteMapNode url="school3.aspx" title="数学学院" description="" /> <siteMapNode url="school4.aspx" title="物理学院" description="" /> </siteMapNode> <siteMapNode url="depart.aspx" title="职能部门" description=""> <siteMapNode url="depart1.aspx" title="教务处" description="" /> <siteMapNode url="depart2.aspx" title="财务处" description="" /> <siteMapNode url="depart3.aspx" title="学生工作处" description="" /> <siteMapNode url="depart4.aspx" title="科技处" description="" /> </siteMapNode> </siteMapNode> </siteMap>
10.1.1 站点导航的功能
站点导航提供下列功能:
可以使用站点地图描述站点的逻辑结构。
可以使用导航控件在网页上显示导航菜单。 可以以代码方式创建自定义导航控件或修改在导航菜单
中显示的信息的位置。
可以配置用于在导航菜单中显示或隐藏链接的访问规则。 可以创建自定义站点地图提供程序。
3. 通过编程方式添加节点
由于TreeView控件的Nodes属性是一个TreeNodeCollection 类对象,因此采用Add方法向其中添加TreeNode对象。这种方 式在可以在运行时动态地增删TreeView控件的节点。
TreeNodeExpanded
TreeNodePopulate
当扩展TreeView控件中的节点时发生
当其PopulateOnDemand属性设置为true的节点在 TreeView控件中展开时发生
10.3.3 TreeNodeCollection类
TreeView控件中所有节点构成一个TreeNodeCollection
类对象,也就是说,TreeView控件的Nodes属性就是一个 TreeNodeCollection类对象。
属性
Count Collection对象中的项数 获取TreeNodeCollection对象中指定索引处的TreeNode对象
TreeNodeCollection类的主要方法有Add、AddAt、 Clear、Contains、IndexOf、Remove、RemoveAt。
10.3.4 向TreeView控件中添加节点的方法
1. 手工方式添加节点
2. 通过DataSourceID属性置数据源控件
提供了SiteMapDataSource和XmlDataSource两个
服务器控件,位于工具箱的“数据”选项卡中,用于
站点导航。 前者检索站点地图提供程序的导航数据,后者检索指定的 XML文件的导航数据,并将导航数据传递到可显示该数据的控 件(如TreeView和Menu控件)。
TreeView1.Nodes[0]表示TreeView1控件中第一个根节点。 TreeView1.Nodes[0].ChildNodes表示TreeView1控件中第一个根节点
的子节点集合。
TreeView1.Nodes[0].ChildNodes[1]表示TreeView1控件中第一个根节 点的第2个子节点。
站点地图是一个标准XML文件。其中,第一个标记用于标识版 本和编码方式,siteMap是站点地图根节点标记,包含若干个 siteMapNode子节点,一个siteMapNode子节点下又可以包含若干个 siteMapNode子节点,构成一种层次结构。 siteMapNode节点的常用属性如下表所示:
navigateUrl,string target)
10.3.2 TreeView控件的属性、方法和事件
1. TreeView控件的属性
(1)DataSourceID属性
该属性指定TreeView控件的数据源控件的ID属性。例如, 可以指定与XML文件绑定的XmlDataSource控件或与站点地 图绑定的SiteDataSource控件的ID。
站点地图是一种以.sitemap为扩展名的标准XML文件,
主要为站点导航控件提供站点层次结构信息,默认名为 Web.sitemap。
【例10.1】 在D盘目录中建立一个ch10的子目录, 将其作为网站目录,创建一个表示前面所列的大学网站层次
结构的站点地图。
解:其设计步骤如下:
① 启动Visual Studio 2012。 ② 选择“文件|新建|网站”命令,出现“新建网站”对话框,选择 “空网站”模板,选择“Web位置”为“文件系统”,单击 “浏览”按钮,选择“D:\\ch10”目录,单击“确定”按钮,创 建了一个空的网站ch10。
方法 Collapse CollapseAll Expand ExpandAll Select ToggleExpandState
说明 折叠当前树节点 折叠当前节点及其所有子节点 展开当前树节点 展开当前节点及其所有子节点 选择TreeView控件中的当前节点 切换节点的展开和折叠状态
TreeNode类提供了以下构造函数:
10.1.2 站点导航的工作方式
通过站点导航,可以按层次结构描述站点的布 局。例如,一个大学网站共有11页,其布局如下:
中华大学 院系设置 计算机学院 电子信息学院 数学学院 物理学院 职能部门 教务处 财务处 学生工作处 科技处
10.1.3 站点导航控件
TreeView:此控件显示一个树状结构或菜单,让用户可以遍 历访问站点中的不同页面。单击包含子节点的节点可将其展 开或折叠。 Menu:此控件显示一个可展开的菜单,让用户可以遍历访 问站点中的不同页面。将光标悬停在菜单上时,将展开包含 子节点的节点。 SiteMapPath:此控件显示导航路径(也称为面包屑或眉毛 链接)向用户显示当前页面的位置,并以链接的形式显示返 回主页的路径。此控件提供了许多可供自定义链接的外观的 选项。
2. TreeView控件的方法
方法 ExpandAll FindNode 说明 打开树中的每个节点 检索TreeView控件中指定值路径处的TreeNode对象
3. TreeView控件的事件
事件 SelectedNodeChanged 说明 当选择TreeView控件中的节点时发生
TreeNodeCheckChanged 当TreeView控件中的复选框在向服务器的两次发送 过程之间状态有所更改时发生。 TreeNodeCollapsed TreeNodeDataBound 当折叠TreeView控件中的节点时发生 当数据项绑定到TreeView控件中的节点时发生
public TreeNode()
public TreeNode (string text)
public TreeNode (string text,string value) public TreeNode (string text,string value,string imageUrl)
public TreeNode (string text,string value,string imageUrl,string
③ 选择“网站|添加新项”菜单命令,出现“添加新项-ch10”对话框,
在中间列表中选择“站点地图”模板,保持默认名称为web.sitemap(只有
名称为web.sitemap的站点地图才会被自动加载,并且必须出现在网站的根 目录中),如图10.2所示。单击“添加”按钮。
④ 出现站点地图的编辑窗口,编辑该站点地图包含的内容如下:
(2)ExpandDepth属性
该属性获取或设置第一次显示TreeView控件时所展开的 层次数。例如,若该属性设为2,则将展开根节点及根节点下 方紧邻的所有子节点。
(3)SelectedNode属性
该属性返回用户从TreeView控件中选定的一个TreeNode
对象。例如,以下语句在标签Label1中显示选择节点的文本:
一个节点可以同时是父节点和子节点,但是不能同时为根
相关主题