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

简介:

TreeView 控件关键属性

CheckedNodes                 声明被选择的单个或者多个节点
ExpandDepth                   声明TreeView控件展开的深度
Nodes                               TreeNodeCollection 类型的节点集合
SelectedNode                  当前被选择的节点
ShowCheckBoxes           声明是否显示复选框
ShowExpandCollapse    声明展示/折叠状态
ShowLines                      声明节点间是否以线连接
LevelStyles                     指定每个层次的节点的样式
NodeStyle                       指定节点的默认样式
RootNodeStyle              指定根节点的样式
LeafNodeStyle               指定子节点的样式
SelectedNodeStyle        指定选定节点的样式
HoverNodeStyle            指定当鼠标移在节点上方时的样式
ImageUrl properties       指定表示展开/折叠的图片的URL路径
TreeNode关键属性
Checked                             标明节点上的复选框的选择状态
ImageUrl                             标明节点上所用图片的URL路径
NavigateUrl                       当单击节点时所要导航到的URL路径
SelectAction                     无导航节点被单击时所要执行的动作
Selected                             标明当前节点是否被选择的节点
ShowCheckBox                 标明当前节点是否显示复选框
Text                                    节点上的文字
TreeView 事件
CheckChanged               当复选框被选择或者清除选择时的所触发的事件
SelectedNodeChanged  当选择的节点发生改变时所触发的事件
TreeNodeCollapsed       当分支被折叠时所触发的事件
TreeNodeExpanded       当分支被展开时所触发的事件
TreeNodeDataBound    当节点被绑定到数据源时所触发的事件
TreeNodePopulate*       Fired when a PopulateOnDemand node needs content
* Only fired on server if EnableClientScript="false"
使用 SelectedNodeChanged事件
< asp:TreeView  ID ="Tree"  OnSelectedNodeChanged ="OnUpdate"  RunAt ="server" >
  
< Nodes >
    
  
</ Nodes >
</ asp:TreeView >
  .
  .
  .
< script  language ="C#"  runat ="server" >
void OnUpdate (Object sender, EventArgs e)
{
    
// Get the text of the selected node
    string text = Tree.SelectedNode.Text;
      
}

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

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

</ script >
TreeView控件和 Site Maps 关系
< asp:SiteMapDataSource  ID ="SiteMap"  RunAt ="server"   />
< asp:TreeView  DataSourceID ="SiteMap"  RunAt ="server"   />
Menus控件和 Site Maps 关系
< asp:SiteMapDataSource  ID ="SiteMap"  RunAt ="server"   />
< asp:Menu  DataSourceID ="SiteMap"  RunAt ="server"   />
在配置文件中修改文件名
< configuration >
  
< system .web >
    
< siteMap >
      
< providers >
        
< remove  name ="AspNetXmlSiteMapProvider"   />
        
< add  name ="AspNetXmlSiteMapProvider"
          type
="System.Web.XmlSiteMapProvider, System.Web, "
          siteMapFile
="Acme.sitemap"   />
      
</ providers >
    
</ siteMap >
  
</ system.web >
</ configuration >
<siteMapNode> 属性
description      节点的描述信息
roles                 指定当前项对哪些角色是可见的*
title                   当前项的标题
url                    当前项导航的目标路径
Security Trimming
< siteMap >
  
< siteMapNode  title ="Home"  description =""  url ="default.aspx" >
    
< siteMapNode  title ="Announcements"  url ="Announcements.aspx"
      description
="Information for all employees"   />  任何人均可见
    
< siteMapNode  title ="Salaries"  url ="Salaries.aspx"
      description
="Salary data"  roles ="Managers,CEOs"   />  只有Manager
和CEO权限的可见
  
< siteMapNode >
</ siteMap >
使 Security Trimming生效
< configuration >
  
< system .web >
    
< siteMap >
      
< providers >
        
< remove  name ="AspNetXmlSiteMapProvider"   />
        
< add  name ="AspNetXmlSiteMapProvider"
          type
="System.Web.XmlSiteMapProvider, System.Web, "
          securityTrimmingEnabled
="true"
          siteMapFile
="web.sitemap"   />
      
</ providers >
    
</ siteMap >
  
</ system.web >
</ configuration >
SiteMapDataSource属性
Provider                               用来获得站点导航数据的Provider
SiteMapProvider                用来获得站点导航数据的Provider的名称
ShowStartingNode             指定显示为根节点的项
StartFromCurrentNode     指定开始节点是否是根节点(false)或者是当前节点(true)默认 = false
StartingNodeOffset            使用层次来指定开始节点 (default = 0)
StartingNodeUrl                 使用URL来指定开始节点
隐藏Site Map根节点
< asp:SiteMapDataSource  ID ="SiteMap"  ShowStartingNode ="false"
    RunAt
="server"   />
< asp:TreeView  DataSourceID ="SiteMap"  RunAt ="server"   />
SiteMapPath控件关键属性
CurrentNodeStyle             当前节点的样式
CurrentNodeTemplate     当前节点的HTML模板
NodeStyle                          非当前节点的样式
NodeStyleTemplate        非当前节点的HTML模板
PathSeparator                  分隔符所使用的文字 (默认 = ">")
PathSeparatorStyle           分隔符的样式
PathSeparatorTemplate  分隔符所使用的HTML模板
RootNode                         属性用来鉴别根节点
CurrentNode                    属性用来鉴别当前节点
使用 Site Map API
//  Write the title of the current node to a Label control
Label1.Text  =  SiteMap.CurrentNode.Title;

//  Write the path to the current node to a Label control
SiteMapNode node  =  SiteMap.CurrentNode;
StringBuilder builder 
=   new  StringBuilder (node.Title);

while  (node.ParentNode  !=   null {
    node 
= node.ParentNode;
    builder.Insert (
0" > ");
    builder.Insert (
0, node.Title);
}

  
Label1.Text 
=  builder.ToString ();



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/11/23/283136.html,如需转载请自行联系原作者
相关文章
|
3月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
137 10
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
113 3
|
17天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
42 5
|
3月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
3月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
100 3
|
3月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
61 5
|
2月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
66 0
|
3月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
3月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
下一篇
无影云桌面