zoukankan      html  css  js  c++  java
  • 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 ();
  • 相关阅读:
    爬虫基础1 怎么使用浏览器查看网络请求
    前端模块化总结(commonJs,AMD,CMD,ES6 Module)
    js强制类型转换规则
    vue-cli3中使用mxgraph的一些总结
    js概念笔记(this)
    js概念笔记(for循环,模块化)
    根据对象数组的某一属性排序
    从svg诞生的panda
    gulp笔记(从开发到发布)
    webpack4.x学习笔记
  • 原文地址:https://www.cnblogs.com/mephisto/p/762795.html
Copyright © 2011-2022 走看看