ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu )

简介:

TreeView 控件关键属性

None.gif CheckedNodes                 声明被选择的单个或者多个节点
None.gifExpandDepth                   声明TreeView控件展开的深度
None.gifNodes                               TreeNodeCollection 类型的节点集合
None.gifSelectedNode                  当前被选择的节点
None.gifShowCheckBoxes           声明是否显示复选框
None.gifShowExpandCollapse    声明展示/折叠状态
None.gifShowLines                      声明节点间是否以线连接
None.gifLevelStyles                     指定每个层次的节点的样式
None.gifNodeStyle                       指定节点的默认样式
None.gifRootNodeStyle              指定根节点的样式
None.gifLeafNodeStyle               指定子节点的样式
None.gifSelectedNodeStyle        指定选定节点的样式
None.gifHoverNodeStyle            指定当鼠标移在节点上方时的样式
None.gifImageUrl properties       指定表示展开/折叠的图片的URL路径
TreeNode关键属性
None.gif Checked                             标明节点上的复选框的选择状态
None.gifImageUrl                             标明节点上所用图片的URL路径
None.gifNavigateUrl                       当单击节点时所要导航到的URL路径
None.gifSelectAction                     无导航节点被单击时所要执行的动作
None.gifSelected                             标明当前节点是否被选择的节点
None.gifShowCheckBox                 标明当前节点是否显示复选框
None.gifText                                    节点上的文字
TreeView 事件
None.gif CheckChanged               当复选框被选择或者清除选择时的所触发的事件
None.gifSelectedNodeChanged  当选择的节点发生改变时所触发的事件
None.gifTreeNodeCollapsed       当分支被折叠时所触发的事件
None.gifTreeNodeExpanded       当分支被展开时所触发的事件
None.gifTreeNodeDataBound    当节点被绑定到数据源时所触发的事件
None.gifTreeNodePopulate*       Fired when a PopulateOnDemand node needs content
None.gif* Only fired on server if EnableClientScript="false"
使用 SelectedNodeChanged事件
None.gif < asp:TreeView  ID ="Tree"  OnSelectedNodeChanged ="OnUpdate"  RunAt ="server" >
None.gif  
< Nodes >
None.gif    dot.gif
None.gif  
</ Nodes >
None.gif
</ asp:TreeView >
None.gif  .
None.gif  .
None.gif  .
ExpandedBlockStart.gif
< script  language ="C#"  runat ="server" >
InBlock.gif
void OnUpdate (Object sender, EventArgs e)
ExpandedSubBlockStart.gif
{
InBlock.gif    
// Get the text of the selected node
InBlock.gif
    string text = Tree.SelectedNode.Text;
InBlock.gif      dot.gif
ExpandedBlockEnd.gif}

None.gif
</ script >
按需装载节点
None.gif < asp:TreeView  OnTreeNodePopulate ="OnPopulate"  EnableClientScript ="false"
None.gif  RunAt
="server" >
None.gif  
< Nodes >
None.gif    
< asp:TreeNode  Text ="Populate this node on demand"
None.gif      PopulateOnDemand
="true"  RunAt ="server"   />
None.gif  
</ Nodes >
None.gif
</ asp:TreeView >
None.gif  .
None.gif  .
None.gif  .
ExpandedBlockStart.gif
< script  language ="C#"  runat ="server" >
InBlock.gif
void OnPopulate (Object sender, TreeNodeEventArgs e)
ExpandedSubBlockStart.gif
{
InBlock.gif    
// Called first time the populate-on-demand node is expanded
InBlock.gif
    TreeNode node = new TreeNode ("This node added dynamically");
InBlock.gif    e.Node.ChildNodes.Add (node);
ExpandedBlockEnd.gif}

None.gif
</ script >
Menu 控件关键属性
None.gif Items                                          MenuItemCollection 类型的菜单项的集合
None.gifItemWrap                                  Specifies whether menu item should wrap
None.gifOrientation                                标明菜单是纵向排列还是横向排列
None.gifSelectedItem                             标明当前选择的菜单项
None.gifStaticStyle properties              标明静态菜单的样式
None.gifDynamicStyle properties        标明动态菜单的样式
MenuItem 控件关键属性
None.gif ImageUrl                                    菜单项上所显示图片的URL路径
None.gifNavigateUrl                              当菜单项单击时所要导航的目标路径
None.gifSelected                                    标明当前菜单项是否已经被选中
None.gifText                                           菜单项上的文字 (显示给最终用户)
None.gifToolTip                                    当光标暂停或者移过菜单项时所显示的提示文本
None.gifValue                                         菜单项的实际值
None.gif
Menu事件
None.gif MenuItemClick  当菜单项被单击时所触发的事件
None.gifMenuItemDataBound 当菜单项被绑定到数据源时所触发的事件
None.gif
使用 MenuItemClick事件
None.gif < asp:Menu  dot.gif OnMenuItemClick ="OnClick"  RunAt ="server" >
None.gif  
< Items >
None.gif    dot.gif
None.gif  
</ Items >
None.gif
</ asp:Menu >
None.gif  .
None.gif  .
None.gif  .
ExpandedBlockStart.gif
< script  language ="C#"  runat ="server" >
InBlock.gif
void OnClick (Object sender, MenuEventArgs e)
ExpandedSubBlockStart.gif
{
InBlock.gif    
// Get the text of the selected menu item
InBlock.gif
    string text = e.Item.Text;
InBlock.gif      dot.gif
ExpandedBlockEnd.gif}

None.gif
</ script >
TreeView控件和 Site Maps 关系
None.gif < asp:SiteMapDataSource  ID ="SiteMap"  RunAt ="server"   />
None.gif
< asp:TreeView  DataSourceID ="SiteMap"  RunAt ="server"   />
Menus控件和 Site Maps 关系
None.gif < asp:SiteMapDataSource  ID ="SiteMap"  RunAt ="server"   />
None.gif
< asp:Menu  DataSourceID ="SiteMap"  RunAt ="server"   />
在配置文件中修改文件名
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< siteMap >
None.gif      
< providers >
None.gif        
< remove  name ="AspNetXmlSiteMapProvider"   />
None.gif        
< add  name ="AspNetXmlSiteMapProvider"
None.gif          type
="System.Web.XmlSiteMapProvider, System.Web, dot.gif"
None.gif          siteMapFile
="Acme.sitemap"   />
None.gif      
</ providers >
None.gif    
</ siteMap >
None.gif  
</ system.web >
None.gif
</ configuration >
<siteMapNode> 属性
None.gif description      节点的描述信息
None.gifroles                 指定当前项对哪些角色是可见的*
None.giftitle                   当前项的标题
None.gifurl                    当前项导航的目标路径
Security Trimming
None.gif < siteMap >
None.gif  
< siteMapNode  title ="Home"  description =""  url ="default.aspx" >
None.gif    
< siteMapNode  title ="Announcements"  url ="Announcements.aspx"
None.gif      description
="Information for all employees"   />  任何人均可见
None.gif    
< siteMapNode  title ="Salaries"  url ="Salaries.aspx"
None.gif      description
="Salary data"  roles ="Managers,CEOs"   />  只有Manager
None.gif和CEO权限的可见
None.gif  
< siteMapNode >
None.gif
</ siteMap >
使 Security Trimming生效
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< siteMap >
None.gif      
< providers >
None.gif        
< remove  name ="AspNetXmlSiteMapProvider"   />
None.gif        
< add  name ="AspNetXmlSiteMapProvider"
None.gif          type
="System.Web.XmlSiteMapProvider, System.Web, dot.gif"
None.gif          securityTrimmingEnabled
="true"
None.gif          siteMapFile
="web.sitemap"   />
None.gif      
</ providers >
None.gif    
</ siteMap >
None.gif  
</ system.web >
None.gif
</ configuration >
SiteMapDataSource属性
None.gif Provider                               用来获得站点导航数据的Provider
None.gifSiteMapProvider                用来获得站点导航数据的Provider的名称
None.gifShowStartingNode             指定显示为根节点的项
None.gifStartFromCurrentNode     指定开始节点是否是根节点(false)或者是当前节点(true)默认 = false
None.gifStartingNodeOffset            使用层次来指定开始节点 (default = 0)
None.gifStartingNodeUrl                 使用URL来指定开始节点
隐藏Site Map根节点
None.gif < asp:SiteMapDataSource  ID ="SiteMap"  ShowStartingNode ="false"
None.gif    RunAt
="server"   />
None.gif
< asp:TreeView  DataSourceID ="SiteMap"  RunAt ="server"   />
SiteMapPath控件关键属性
None.gif CurrentNodeStyle             当前节点的样式
None.gifCurrentNodeTemplate     当前节点的HTML模板
None.gifNodeStyle                          非当前节点的样式
None.gifNodeStyleTemplate        非当前节点的HTML模板
None.gifPathSeparator                  分隔符所使用的文字 (默认 = ">")
None.gifPathSeparatorStyle           分隔符的样式
None.gifPathSeparatorTemplate  分隔符所使用的HTML模板
None.gifRootNode                         属性用来鉴别根节点
None.gifCurrentNode                    属性用来鉴别当前节点
使用 Site Map API
None.gif //  Write the title of the current node to a Label control
None.gif
Label1.Text  =  SiteMap.CurrentNode.Title;
None.gif
None.gif
//  Write the path to the current node to a Label control
None.gif
SiteMapNode node  =  SiteMap.CurrentNode;
None.gifStringBuilder builder 
=   new  StringBuilder (node.Title);
None.gif
ExpandedBlockStart.gif
while  (node.ParentNode  !=   null {
InBlock.gif    node 
= node.ParentNode;
InBlock.gif    builder.Insert (
0" > ");
InBlock.gif    builder.Insert (
0, node.Title);
ExpandedBlockEnd.gif}

None.gif  
None.gifLabel1.Text 
=  builder.ToString ();



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/11/23/283136.html,如需转载请自行联系原作者
相关文章
|
8天前
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
|
8天前
|
监控 测试技术 API
Python Web应用程序构建
【4月更文挑战第11天】Python Web开发涉及多种框架,如Django、Flask和FastAPI,选择合适框架是成功的关键。示例展示了使用Flask创建简单Web应用,以及如何使用ORM(如SQLAlchemy)管理数据库。
17 4
|
17天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
20 0
|
2月前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
15 4
|
2月前
|
SQL 运维 监控
什么是Web应用程序防火墙,WAF与其他网络安全工具差异在哪?
总之,WAF是一种专门用于保护Web应用程序的网络安全工具,与其他网络安全工具在焦点、层级、检测方式、部署位置和针对性等方面存在差异,以确保Web应用程序的安全运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
123 0
|
2月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
18 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
45 0
|
10天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
18 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
102 5