zoukankan      html  css  js  c++  java
  • .NET基础之三个导航控件

    TreeView控件是导航栏的一种,所以该控件能绑定的数据格式为xml文件和站点地图。
    主要属性:
    EnableClientScript:是否应尝试使用客户端脚本。
    ShowCheckBoxes:旁边应显示复选框的节点类型。
    ImageSet:获取或设置用于 TreeView 控件的图像组。
    ExpandDepth:获取或设置第一次显示 TreeView 控件时所展开的层次数。
    编辑TreeNode数据绑定的时候,手动添加的绑定节点有一个SelectAction 属性,具体值见下表。

    选择操作

    说明

    TreeNodeSelectAction.Expand

    切换节点的展开和折叠状态。相应地引发 TreeNodeExpanded 事件或 TreeNodeCollapsed 事件。

    TreeNodeSelectAction.None

    在选定节点时不引发任何事件。

    TreeNodeSelectAction.Select

    在选定节点时引发 SelectedNodeChanged 事件。

    TreeNodeSelectAction.SelectExpand

    选择节点时引发 SelectedNodeChanged 和 TreeNodeExpanded 事件。节点只会展开,不会折叠。

    主要事件:
    TreeNodeCheckChanged:选定节点更改后激发。
    TreeNodeCollapsed:在TreeNode折叠后激发。
    TreeNodeExpanded:在TreeNode展开后激发。

    动态生成节点
    if (TreeView1.SelectedNode != null)
    {
         TreeNode tn = new TreeNode("node");
          this.TreeView1.SelectedNode.ChildNodes.Add(tn);
    }


    SiteMapPath控件和TreeView差不多,都是导航控件。

    动态修改内存中的站点地图

    private void Page_Load(object sender, EventArgs e)
       {

           //首先我们在这里注册一个事件,也就是说在访问CurrentNode属性的时候触发这个事件
           SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);
       }

       SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
       {

           //自定义处理方法获取并创建当前节点的副本,并同时复制他的上级节点
           SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);       
           SiteMapNode TempNode = CurrentNode;
           int id = nid();
           int page = npage();
           //从下面方法中得到变量

           if (id > 0)
           {
               TempNode.Url = TempNode.Url + "?id=" + id.ToString();
           }
           if (id > 0 && page >= 0)
           {
               TempNode.Url = TempNode.Url + "&page=" + page.ToString();
           }
           else if (page >= 0)
           {
               TempNode.Url = TempNode.Url + "?page=" + page.ToString();
           }
           return TempNode;
       }
    修改当前SiteMap的最后一级显示文字
    protected void SiteMapPath1_ItemCreated(object sender, SiteMapNodeItemEventArgs e)
       {

           //该用法要求当前节点在站点地图中已经存在,如果无该节点,则会报错
           if (e.Item.ItemType == SiteMapNodeItemType.Current)
           {
               Literal l = e.Item.Controls[0] as Literal;
               if (l != null)

               //temp_lb为string,为想显示的文本。
                   l.Text = temp_lb; 
           }
       }


    siteMap控件,默认的主站点地图不得改名,可以存在子站点地图。
    从父站点地图链接到子站点地图
    在父地图中添加一个节点<siteMapNode siteMapFile="~/mysm.sitemap"/>,子地图中的节点都为该节点的子节点。

  • 相关阅读:
    orm添加表记录
    创建多表模型
    包的使用
    日志写法
    os模块,是通过和操作系统交互进行操作
    sys python解释器做交互
    软件开发规范
    模块 time模块 datatime模块 random模块
    装饰器
    装饰器进阶
  • 原文地址:https://www.cnblogs.com/shanymen/p/1487319.html
Copyright © 2011-2022 走看看