zoukankan      html  css  js  c++  java
  • ASP.NET站点导航控件

    网站导航是指当用户浏览网站时,网站所提供的指引标志,可以使用户清楚地知道目前所在网站中的位置。
     
    ASP.NET中主要提供了3个控件设置网站导航结构。
    TreeView  Menu  SiteMapPath
     
    一、TreeView控件
    TreeView由一个或多个节点构成,也就是由多个TreeNode构成
    主要属性:
    ExpandDepth
    获取或设置默认情况下TreeView控件展开的层次数。默认等于-1,全部展开
     
     
     
    2.Nodes
    用于获取TreeView控件中的TreeNode对象集合。可通过特定方法,对树形结构中的节点进行添加、删除。修改等操作。
     
    SelectedNode属性
    用户获取用户选中节点的TreeNode对象。
     
    TreeView绑定数据库数据
    public void BindDataBase()
        {
            SqlConnection Con = new SqlConnection();
            Con.ConnectionString = @"server=;uid=;pwd=;database=xxgl";
            SqlDataAdapter da = new SqlDataAdapter("select * from 教师", Con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            TreeNode tree1 = new TreeNode("教师名称");
            TreeView1.Nodes.Add(tree1); //添加根节点
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                TreeNode tree2 = new TreeNode(ds.Tables[0].Rows[i][1].ToString());
                tree1.ChildNodes.Add(tree2);
                for (int k = 0; k < ds.Tables[0].Columns.Count; k++)
                {
                    TreeNode tree3 = new TreeNode(ds.Tables[0].Rows[i][k].ToString());
                    tree2.ChildNodes.Add(tree3);
                }
    
            }
        }

    TreeView绑定XML文件

    1.添加TreeView控件、XMLDataSource控件

    2.配置XMLDataSource数据源为XMLFile.xml

    3.将TreeView控件的DataSourceID属性设置为XMLDataSource1

    XMLFile.xml文件代码如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <Root url="Default.aspx" name="学生信息" describe="studentInfo">
      <Parent url="class1.aspx" name="一班" describe="classOne">
        <Child url="stu11.aspx" name="小明" describe="xiaoming"></Child>
        <Child url="stu12.aspx" name="小亮" describe="xiaoliang"></Child>
      </Parent>
      <Parent url="class2.aspx" name="二班" describe="classTwo">
        <Child url="stu21.aspx" name="小明" describe="xiaoming"></Child>
        <Child url="stu22.aspx" name="小亮" describe="xiaoliang"></Child>
      </Parent>
    </Root>

    名称是自己定义的。

    这个时候控件中显示的还不是实际的学生信息,而是显示的节点

    4.在“TreeView任务” 快捷菜单中选择“编辑TreeNode数据绑定”命令,打开对话框,添加Root,Parent,Child三个节点,然后在属性面板中分别设置

    相对应的属性,NavigateUrlField属性设置为url,TextField属性设置为name,ValueFile属性设置为describe;

    使用TreeView控件实现站点导航:

    1.先添加web.sitemap文件,在项目上右击,添加新项,选择站点地图。添加完成之后

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
        <siteMapNode url="Default3.aspx" title="学生信息"  description="studentInfo">
          <siteMapNode url="Default.aspx" title="一班"  description="">
            <siteMapNode url="Default2.aspx" title="小明"  description="" />
            <siteMapNode url="" title=""  description="" />
          </siteMapNode>
        </siteMapNode>
    </siteMap>

    2.控件实现站点导航,都需要SiteMapDataSource控件。在工具菜单数据下面。

    SiteMapDataSource控件会默认绑定web.sitemap文件。只需要将控件绑定给TreeView就行了。

    设置TreeView的DataSourceID为SiteMapDataSource的id就行了。

    怎样避免在客户端闪处理TreeView控件展开事件
    动态填充TreeView控件的节点时,将TreeView控件的EnableClientScript属性设置为false。
    Menu控件
    Menu控件构建与windows应用程序类似的菜单栏
    DisappearAfter属性
    获取或设置当鼠标指针离开Menu控件后菜单的延时时间
    Orientation
    指示显示方向:
    Orientation的属性值为Horizontal 水平 ,Vertical 垂直显示
     
    Menu控件绑定xml文件和实现站点导航同上,无多大差别。
    如果要隐藏web.sitemap中的根节点,必须将SiteMapDataSource控件中的ShowStartingNode属性设置为false(默认是true)
    SiteMapPath控件
    SiteMapPath控件用于显示一组文本或图像超链接,以便在使用最少页面空间的同时更加轻松地定位当前所在网站的位置
    重要属性:
    ParentLevelsDisplayed属性
    设置当前节点的父节点显示数量,默认是-1;全部显示
    PathDirection属性
    有两种显示方向可供选择,即CurrentToRoot和RootToCurrent。
    RootToCurrent。表示这样显示:  根节点 >父节点 >子节点
    CurrentToRoot表示这样显示: 子节点 > 父节点 > 根节点
     
    SiteMapPath控件使用十分方便,控件会自动读取.sitemap站点地图文件中的信息。
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode url="" title=""  description="">
        <siteMapNode url="Default.aspx" title="首页"  description="" >
          <siteMapNode url="News.aspx" title="新闻"  description="">
            <siteMapNode url="ns.aspx" title="时事新闻"></siteMapNode>
            <siteMapNode url="ns1.aspx" title="娱乐新闻"></siteMapNode>
          </siteMapNode>
        </siteMapNode>
      </siteMapNode>
    </siteMap>

    然后在这些页面中添加SiteMapPath控件就行了。

    ps:如果在上面文件中不存在的网页中添加控件是没有用的。

     
     
  • 相关阅读:
    Element ui TimePicker 开始时间不得小于结束时间
    Vue 使用print.js实现前端打印功能
    vue中props的默认写法
    Element Cascader 级联选择器 选择第一级 label标题选择 内容过多
    vue 定时器 不断切换组件 定时器越来越快的问题
    Vue 全局组件传递参数
    echarts渐变发光半圆仪表盘
    左侧折叠菜单在sessionStorage中保存左侧菜单的激活状态
    Vue 封装网络工具类
    .browserslistrc 配置兼容浏览器
  • 原文地址:https://www.cnblogs.com/sjyzz/p/7692524.html
Copyright © 2011-2022 走看看