导航控件 TreeView Menu SiteMapPath

一、SiteMapPath

航控件

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

当前节点要显示链接请在

导航控件 TreeView Menu SiteMapPath

SiteMapPath控件中写 RenderCurrentNodeAsLink="True"

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

二、母板页设置

导航控件 TreeView Menu SiteMapPath

三、站点地

导航控件 TreeView Menu SiteMapPath

链接地址 url="~/two/a.aspx" 标题 Title ="" 鼠标放上去出现的提示: description =""

四、Menu控件

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

.静态和动态显示

①MaximumDynamicDisplayLevels 菜单支持的最大弹出数

②StaticDisplayLevels 菜单的静态部分显示级别数,默认值为1

导航控件 TreeView Menu SiteMapPath

StaticDisplayLevels 属性指示从根菜单算起,静态显示的菜单的层数。例如,如果将 StaticDisplayLevels 设置为 3,菜单将以静态显示的方式展开其前三层。静态显示的最小层数为 1,如果将该值设置为 0 或负数,该控件将会引发异常。

.横纵向排列 Orientation

导航控件 TreeView Menu SiteMapPath

五、动态修改内存中站点地图

SiteMap 类

SiteMap 类是站点的导航结构在内存中的表示形式,导航结构由一个或多个站点地图提供程序提供。无法继承此类。

SiteMapNode 类

表示分层的站点地图结构(如 SiteMap 类和实现抽象类 SiteMapProvider 的类所描述的结构)中的一个节点。

导航控件 TreeView Menu SiteMapPath

在需要的动态更改点SiteMapPath

SiteMap.CurrentNode.ReadOnly = false;
SiteMap.CurrentNode.Title = "动态标题名称";
SiteMap.CurrentNode.Url = "http://www.url.com";

当前节点要显示链接请在

导航控件 TreeView Menu SiteMapPath

SiteMapPath控件中写 RenderCurrentNodeAsLink="True"

网上好多方法都是使用委托..那个是应用到整个动态站点的
我这个方法是写在需要动态修改的页面里面需要修改的页的当前节点就会改成你需要动态生成的了

我的源码(petshop重构)如下:

SiteMap.CurrentNode.ReadOnly = false;
            SiteMap.CurrentNode.Title = Request.QueryString["categoryName"].ToString();
            SiteMap.CurrentNode.Url = "Products.aspx?categoryId=" + Request.QueryString["categoryId"].ToString() + "&categoryName=" + Request.QueryString["categoryName"].ToString();

六、自定义数据提供程序√(vs200570)

导航控件 TreeView Menu SiteMapPath

Web.Config

导航控件 TreeView Menu SiteMapPath

Web.sitemap

导航控件 TreeView Menu SiteMapPath

七、TreeView 控件

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

添加颜色

0 TreeNodeStyle 1级节点

1 TreeNodeStyle 2级节点

2 TreeNodeStyle 3级节点

导航控件 TreeView Menu SiteMapPath

复选框

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

Root 根节点

Leaf 叶节点

八、TreeView 高级使用

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

导航控件 TreeView Menu SiteMapPath

Ⅰ.ault2.aspx 设计

导航控件 TreeView Menu SiteMapPath

Ⅱ.Web.Config设置

导航控件 TreeView Menu SiteMapPath

Ⅲ.SQL数据库表设置

导航控件 TreeView Menu SiteMapPath

Ⅳ.Default2.aspx.cs 代码

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //首先填充第一级节点
            DataView dv = drv("select * from big");
            foreach (DataRowView datas in dv)
            {
                //循环数据视图,将相应的值交给一个节点对象,然后添加到树上又继续添加
                TreeNode tn = new TreeNode();
                tn.Text = datas["title"].ToString();
                tn.Value = datas["bid"].ToString();
                tn.Expanded = false;

                //添加到TreeView1树上
                TreeView1.Nodes.Add(tn);

                //调用方法填充二级节点
                AddChildNode(tn);
            }
        }
    }

    private DataView drv(string query)
    {
        //根据传来的SQL字符串返回一哥数据视图

        //在Web.Config里设置ConnectionStrings
        string connstr = ConfigurationManager.ConnectionStrings["aaConn"].ConnectionString;
        SqlConnection conn = new SqlConnection(connstr);
        SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
        DataSet ds = new DataSet();
        adapter.Fill(ds, "tree");
        return ds.Tables["tree"].DefaultView;
    }
                   
    private void AddChildNode(TreeNode tn)
    {
        //填充二级节点,它需要一级节点的Value值,所以送了一个完整的根节点对象
        int bid = Convert.ToInt32(tn.Value);
        DataView dv = drv("select * from class where b);

        foreach (DataRowView datas in dv)
        {
            TreeNode ctn = new TreeNode();
            ctn.Text = datas["title"].ToString();
            ctn.Value = datas["cid"].ToString();
            //ctn.Expanded = false;
            ctn.NavigateUrl = "http://thcjp.cnblogs.com/jiashe.aspx?aa=" + datas["cid"].ToString();

            /*
             *  XXXXXXXXX添加到子节点上XXXXXXXXXXX
             */
            tn.ChildNodes.Add(ctn);
            
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {//将选中项的值打印出来
        if (TreeView1.CheckedNodes.Count > 0)
        {
            foreach (TreeNode tn in TreeView1.CheckedNodes)
            {
                //迭代所有被选中的项
                if (tn.ChildNodes.Count > 0)
                {
                    //如果被选中项下面还有子节点
                    foreach (TreeNode ctn in tn.ChildNodes)
                    {
                        //迭代所有子节点,把值读出来
                        Response.Write(ctn.Text + "<br>");
                    }
                }
                else
                {
                    //如果没有子节点,说明是叶节点,那么直接读取被选值
                    Response.Write(tn.Text + "<br>");
                }
            }
        }

    }
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {//点击了没有链接的节点(前提是其SelectAction为Select)
        Label2.Text = TreeView1.SelectedNode.Text;
    }
    protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
    {
        Label2.Text = "你展开了" + e.Node.Text;
    }
    protected void TreeView1_TreeNodeCollapsed(object sender, TreeNodeEventArgs e)
    {
        Label2.Text = "你折叠了" + e.Node.Text;
    }
}

+ = = = = = = = = = = = = = = = = = = +

附:

TreeView Menu 控件之间的一些区别

TreeView 和 Menu 控件之间的一些区别,以帮助您为特定的方案选择适当的控件。

功能

Menu

TreeView

展开

弹出

就地展开

按需下载

复选框

模板

布局

水平和垂直

垂直

样式选项

选择模型

静态级别、动态级别

或父/根/叶、或按数据项

在此示例中,您会看到具有为不同区域和操作配置的各种样式属性(例如,NodeStyle 和 HoverNodeStyle)的 TreeView 和 Menu 控件。TreeView 和 Menu 控件都将连接到页上的同一 SiteMapDataSource 控件。SiteMapPath 控件正在通过在 Web.config 文件中设置的默认 SiteMapProvider 访问相同数据。

VB Navigation Controls
导航控件 TreeView Menu SiteMapPath
导航控件 TreeView Menu SiteMapPath

相关文章:

  • 2022-02-05
  • 2021-11-16
  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
  • 2022-12-23
  • 2021-10-21
猜你喜欢
  • 2022-12-23
  • 2021-12-04
  • 2021-05-31
  • 2021-09-21
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案