网站地图数据包含的是层次化信息,每个节点都可以包含零个或多个子节点。TreeViewMenu 控件就是专门为层次化数据而设计的。但是,网站地图数据也可以绑定到非层次化控件(如 DropDownListCheckBoxList,以及其他显示平面数据或线性数据的控件)中。

提示:只有 SiteMapPath 控件和支持 INavigateUIData 接口的控件才能够把网站地图节点以链接的形式进行呈现。

实例

下例代码使用 DropDownList 控件显示 Web.sitemap 文件中的网站地图。

当客户端选择某个下拉列表中的项目时,浏览器会立即重定向至被选择的页面。这个操作是通过在 OnSelectedIndexChanged 事件处理器中调用 Redirect 方法来完成的。

如果上例代码被放置在模板页中,那么 SiteMapDataSource 控件的 StartFromCurrentNode 属性将会确保下拉列表在当前页面被执行之前始终显示网站地图的内容。

<%@ Page Language="C#" AutoEventWireup="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">void _OnSelectedIndexChanged(Object sender, EventArgs e){ Response.Redirect(DropDownList1.SelectedItem.Value);}
</script><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title>DropDownList Bound to SiteMapDataSource</title>
</head>
<body><form id="form1" runat="server"><div><asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="Server"StartFromCurrentNode="true"ShowStartingNode="false" /><asp:DropDownList ID="DropDownList1" Runat="Server" DataSourceID="SiteMapDataSource1"AutoPostBack="True" DataTextField="Title" DataValueField="Url"OnSelectedIndexChanged="_OnSelectedIndexChanged"></asp:DropDownList></div></form>
</body>
</html>

如果页面不包含任何子节点,那么下拉列表将会是空的。如果客户端选择了由没有在 Web.sitemap 文件中设置 URL 属性的节点所呈现的列表项,那么客户端将被重定向到应用程序的主页。

编译代码

  • 运行上例代码需要下列条件:

  • 有效的 Web.sitemap 文件以及引用该文件并包含上例代码的 ASP.NET 文件。如果使用代码的文件没有列在 Web.sitemap 文件的节点中,请将下列属性从控件中移除:

    StartFromCurrentNode="true"
    

转载于:https://www.cnblogs.com/Laeb/archive/2006/12/11/588708.html

ASP.NET 实践:在非层次化控件中显示网站地图的数据相关推荐

  1. ASP.NET 实践:使用用户控件实现 Web 部件的个性化

    这个实践示范了如何创建依赖于 Web 部件个性化的 ASP.NET 用户控件,并在 Web 页面中提供用户特定的默认值. ASP.NET Web 部件控件集允许你建立拥有模块化布局的 Web 页面,并 ...

  2. Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示

    Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...

  3. ASP.NET开发:在用户控件中添加属性

    在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用.本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法:举例说明详解. 在WEB开发中经常有一些 ...

  4. 在 Web 数据控件中显示二进制数据54

    简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载.我们还将了解怎样将上载的二进制数据 ...

  5. listview显示mysql数据_C#在listview控件中显示数据库数据

    一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...

  6. 【Java 虚拟机原理】Class 字节码二进制文件分析 二 ( 常量池位置 | 常量池结构 | tag | info[] | 完整分析字节码文件中的常量池二进制数据 )

    文章目录 前言 一.常量池结构分析 1.常量池位置 2.常量池结构 3.常量池单个常量 4.常量池单个常量 tag 标签 二.常量池字节码文件分析 0.常量池附加信息 1.常量池 #1 常量分析 2. ...

  7. DataGridView控件中显示图片及其注意事项 【z】

    windows Forms编程里面有一个DataGridView控件,它不光是可以显示数据,可以显示按钮,复选框,甚至还可以显示图片.这些图片可以来自于数据库(用二进制的方式存储的),也可以来自文件系 ...

  8. Devexpress控件中TreeList的递归绑定数据

    Devexpress中的TreeList控件能实现类似于TreeView的功能 下面介绍下TreeList递归绑定DataTable中的数据 两个表.第一个表是父节点类型,第二个表是每个类型下的子节点 ...

  9. 利用OpenCV在picture控件中显示图片

    (1)首先要保证OpenCV的头文件已包含进程序,并且已在工程中正确lib等文件目录. (2)添加一个picture控件 (3)在对话框初始化函数(或者某按钮响应函数)中 CWnd* pwnd = G ...

最新文章

  1. 现代软件工程 第十章 【典型用户和场景】 练习与讨论
  2. c语言仪器仪表课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  3. Linux C编程--进程间通信(IPC)2--信号处理函数
  4. 消息队列:RabbitMQ和Kafka的比较
  5. C++ 一键关闭屏幕
  6. 数字人民币这一年,互联网企业做了什么?
  7. /etc/udev/rules.d/10-usbstorage.rules
  8. JavaFx系列(二) Thread顯示進度窗的對話框
  9. 动荡之秋,谁能用 AI 制衡全球
  10. openstack token
  11. 2015 多校联赛 ——HDU5302(矩阵快速幂)
  12. 微信小程序-利用wxParse将html转为wxml
  13. 常见字符的ASCII码值
  14. 清华姚班出身,95后博士生从网瘾少年到发表顶会论文的科学家
  15. logo设计软件哪个好用?小白也能学会的logo设计小技巧
  16. 自动驾驶(十一)---------泰勒展开式、雅克比矩阵、主成分分析
  17. 坚果的2022年终总结
  18. 单枪匹马的背锅侠,终于不再是一个人的军团了
  19. MinHash (最小哈希)
  20. 日常记账,分类给收入和支出着不同颜色

热门文章

  1. Win7下DB2 Express-C 9.7.2的卸载与安装(上)
  2. 平面直角坐标系中的旋转公式_【数理之路】初中范围推导三角函数倍角正弦公式...
  3. 云计算底层技术--linux上的虚拟网络设备
  4. HBase数据读取流程解析
  5. (2)ZYNQ FPGA加载比特流(FPGA不积跬步101)
  6. (59)FPGA面试题-什么是有限的状态机?有限状态机可分为几类,分别是什么?
  7. mysql 多个实例 备份_数据库Mysql备份多个数据库代码实例
  8. Uboot 启动流程分析
  9. tcp与udp的socket编程,udp代码实现客户端服务端,tcp代码实现客户端服务端(单线程、多线程、多进程分别实现),三次握手
  10. 51单片机dds信号发生器 扫频 c语言,基于AT89C51单片机和DDS器件实现频率特征测试仪的设计...