母版页就是网站中一样的部分
母版页的后缀名是.Master
可以把母版页当成一个页面  想让哪里是别的内容就可以  通过如下:
 
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
       
</asp:ContentPlaceHolder>
//相当于占位符 想改哪里占据哪里!
如果要创建带母版页的Web窗体  右击新建项即可

同样的 我们可以在母版页中添加JQUERY的引用 这样我们就可以在子页面中写入工厂函数的代码

如果套用母版页,控件的ID值会发生变化

这是Html生成的代码 
解决方案:

JavaScript:    var obj = document.getelementbyid("<%Label1.ClientID%>");
Jquery:     $('#<%Label1.ClientID%>')

TreeView 绑定 XML
需要XmlDataSource控件,再设置TextField,NavigateUrlField 属性

SiteMapPath 站点地图控件
我们可以把它放到母版页
这个控件只能绑定Xml 其文件路径在项目根目录 名称为Web.sitemap

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="/default.aspx" title="第三波书店" description="第三波书店">
<siteMapNode url="" title="第二章" description="" >
<siteMapNode url="/chp02/login.aspx" title="登录"></siteMapNode>
<siteMapNode url="/chp02/SessionLogin.aspx" title="Sesson学习"></siteMapNode>
</siteMapNode>
<siteMapNode url="" title="第四章" description="" >
<siteMapNode url="/chp04/webForm1.aspx" title="母版页一"></siteMapNode>
<siteMapNode url="/chp04/webForm2.aspx" title="母版页二"></siteMapNode>
<siteMapNode url="/chp04/webForm3.aspx" title="站点地图"></siteMapNode>
<siteMapNode url="/chp04/ZzhDemo.aspx" title="呵呵"></siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>

  

TreeView数据来源 表设计


  parentNodeid与nodeid对应 parentnodeid 0 的话就是根目录, 代码如下

public partial class BingTreeView : System.Web.UI.Page
{
//也可以使用list泛型集合
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
// foreach(DataRow row in dt.Rows)
// {
// SysFun fun = new SysFun()
// {
// NodeId = Convert.ToInt32(row["nodeId"]),
// DisplayName = row["DisplayName"].ToString(),
// DisplayOrder = Convert.ToInt32(row["DisplayOrder"]),
// ParentNodeId = Convert.ToInt32(row["ParentNodeId"]),
// NodeUrl = row["nodeUrl"].ToString()
// };
// list.Add(fun);
// }
string sql = "select * from [SysFun]";
dt = SQLHelper.ExcuteTable(sql,null).Tables[0];
BindTree("0",TreeView1.Nodes); //参数:(从头开始 根节点)
}
public void BindTree(string parentId,TreeNodeCollection tnc)
{
DataView dv = dt.DefaultView; //返回可用于筛选的集合
dv.RowFilter = "parentNodeId="+parentId; //筛选出符合treeview规则的dv
foreach (DataRowView row in dv)
{
TreeNode newtn = new TreeNode(); //声明treenode
newtn.Text = row["Displayname"].ToString();
newtn.NavigateUrl = row["NodeUrl"].ToString();
newtn.Value = row["NodeId"].ToString();
tnc.Add(newtn);
BindTree(newtn.Value,newtn.ChildNodes);//继续回调 找完继续找parentNodeId(方法结束继续Foreach)
}
}
}

  

分析:回调的方法是为了添加一个根目录的所有子集 添加完一个根节点的所有子集 foreach就会结束,那么方法执行就会结束,再次回到非回调的方法中 继续加载,直到所有根节点的子集全部加载完 ,此时bindtree方法就会结束。
     

母版页 treeview控件 SiteMapPath控件 treeview数据库绑定模式的更多相关文章

  1. MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件

    类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...

  2. asp.net 第三方UI控件 Telerik KendoUI 之 TreeVIew 的用法记录

    一.前台显示 备注:一次性取出所有节点 function loadTreeData() { $.ajax({ type: 'POST', url: '@(Html.UrlHref("Scri ...

  3. “眉毛导航”——SiteMapPath控件的使用(ASP.NET)

    今天做网站的时候,用到了SiteMapPath控件,我把使用方法记录下来,以便日后查阅以及帮助新手朋友们. SiteMapPath”会显示一个导航路径(也称为痕迹导航或眉毛导航),此路径为用户显示当前 ...

  4. “面包屑导航”——SiteMapPath控件的使用(ASP.NET)(转)

    转自:http://www.cnblogs.com/ball-head/archive/2010/09/28/1837253.html 最近在博客里写了一些日志,主要都是我在实际编程过程中遇到的问题. ...

  5. SiteMapPath控件的使用(ASP.NET)

    最近在博客里写了一些日志,主要都是我在实际编程过程中遇到的问题.问题出现后,先自己推敲,搞不定的,就上网去搜,再就是请教同学.同事,从中获益匪浅,也很难得!现在把感觉比较实用的一些功能代码之类的发布到 ...

  6. 【原创】自己动手写控件----XSmartNote控件

    一.前面的话 在上一篇博文自己动手写工具----XSmartNote [Beta 3.0]中,用到了若干个自定义控件,其中包含用于显示Note内容的简单的Label扩展控件,用于展示标签内容的labe ...

  7. winform用户控件、动态创建添加控件、timer控件、控件联动

    用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...

  8. paip.gui控件tabs控件加载内容的原理以及easyui最佳实现

    paip.gui控件tabs控件加载内容的原理以及easyui最佳实现 //////////////tabs控件的加载 同form窗体一样,俩个方式 两个方式:一个是url,简单的文本可以使用这个,不 ...

  9. iOS开发中的错误整理,关于用绑定Tag取控件的注意事项,有时候不绑定也是个错!

    如图:红色框中是个自定义的导航工具条titlesView(没有绑定Tag),工具条中有五个按钮(按钮绑定了Tag)以及一个红色的指示器indicatorView(没有绑定Tag),下面的蓝色是可以滚动 ...

随机推荐

  1. yum换源,rpm包下载,源码包安装

    一.yum更换源 yum自带源地址一般斗是国外的,可能下载速度略慢,我们可以自己换成国内的源,比如163等.比如配置163的yum源:1.先删除默认源文件dvd.repo # rm -f /etc/y ...

  2. idea 几个常用的设置

    一.主题的背景

  3. Python批量更新模块的方法【面试必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:ranchlin      小编的环境为win10+python 3. ...

  4. Cesium案例解析(二)——ImageryLayers影像图层

    目录 1. 概述 2. 实例 2.1. ImageryLayers.html 2.2. ImageryLayers.js 2.2.1. 代码 2.2.2. 解析 3. 结果 1. 概述 Cesium支 ...

  5. .NET Core Razor Pages中ajax get和post的使用

    ASP.NET Core Razor Pages Web项目大部分情况下使用继承与PageModel中的方法直接调用就可以(asp-page),但是有些时候需要使用ajax调用,更方便些.那么如何使用 ...

  6. 新手Linux之路之Deepin

    用了很久的Window,心血来潮想换个系统,于是就开始踩坑Linux之路. 系统为deepin 首先基本的 设置root密码 $:sudo passwd root [sudo] password fo ...

  7. C#开发微信小程序(三)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  8. CMake工程找不到相应的cuDNN版本的问题

    (1) 去官网下载相应的版本,因为电脑之前安装的是 CUDA8. ,找跟 CUDA 版本兼容的 cuDNN 下载即可,我选择的是 cuDNN v7.(Deb) 和  cuDNN v7.1.4 Deve ...

  9. 让终端更好看--Ubuntu OhMyZsh配置指南

    查看shell列表 cat /etc/shells 如果发现没有zsh就安装 安装zsh sudo apt install zsh 设置默认shell chsh -s $(which zsh) 重启主 ...

  10. Graylog 环境搭建与使用

    graylog 官网地址: www.graylog.org graylog 简易架构图: graylog 生产架构图: graylog 有两个版本,1.企业版:2.开源版 下面使用开源版本搭建日志中心 ...