母版页就是网站中一样的部分
母版页的后缀名是.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

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

  

TreeView数据来源 表设计


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

  1. public partial class BingTreeView : System.Web.UI.Page
  2. {
  3. //也可以使用list泛型集合
  4. DataTable dt = new DataTable();
  5. protected void Page_Load(object sender, EventArgs e)
  6. {
  7. // foreach(DataRow row in dt.Rows)
  8. // {
  9. // SysFun fun = new SysFun()
  10. // {
  11. // NodeId = Convert.ToInt32(row["nodeId"]),
  12. // DisplayName = row["DisplayName"].ToString(),
  13. // DisplayOrder = Convert.ToInt32(row["DisplayOrder"]),
  14. // ParentNodeId = Convert.ToInt32(row["ParentNodeId"]),
  15. // NodeUrl = row["nodeUrl"].ToString()
  16. // };
  17. // list.Add(fun);
  18. // }
  19. string sql = "select * from [SysFun]";
  20. dt = SQLHelper.ExcuteTable(sql,null).Tables[0];
  21. BindTree("0",TreeView1.Nodes); //参数:(从头开始 根节点)
  22. }
  23. public void BindTree(string parentId,TreeNodeCollection tnc)
  24. {
  25. DataView dv = dt.DefaultView; //返回可用于筛选的集合
  26. dv.RowFilter = "parentNodeId="+parentId; //筛选出符合treeview规则的dv
  27. foreach (DataRowView row in dv)
  28. {
  29. TreeNode newtn = new TreeNode(); //声明treenode
  30. newtn.Text = row["Displayname"].ToString();
  31. newtn.NavigateUrl = row["NodeUrl"].ToString();
  32. newtn.Value = row["NodeId"].ToString();
  33. tnc.Add(newtn);
  34. BindTree(newtn.Value,newtn.ChildNodes);//继续回调 找完继续找parentNodeId(方法结束继续Foreach)
  35. }
  36. }
  37. }

  

分析:回调的方法是为了添加一个根目录的所有子集 添加完一个根节点的所有子集 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. C#使用 OleDbConnection 连接读取Excel

    /// <summary> /// 读取Excel中数据 /// </summary> /// <param name="strExcelPath"& ...

  2. 实验:使用GDB查看结构体在内存中的存储方式

    结构体在内存中的表示形式是怎么样的? 结构体在内存中和普通变量存储没有太大的区别. 首先我们看看,计算机如何读取普通变量:   普通变量例如int是占据4个字节,计算机读内存的时候会从起始地址开始读, ...

  3. JavaScript图形实例:圆形图案

    在HTML5的Canvas 2D API中,可以调用arc方法绘制圆或圆弧.该方法调用格式为: context . arc(x, y, radius, startAngle, endAngle, an ...

  4. MIT-6.824 操作系统 汇总

    MIT-6.828-JOS-环境搭建 ELF文件格式 lab1:C, Assembly, Tools, and Bootstrapping lab2:Memory management lab3:Us ...

  5. Dubbo环境搭建-ZooKeeper注册中心

    场景 Dubbo简介与基本概念: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103555224 注: 博客: https:// ...

  6. IE浏览器下载文件保存时提示:“你没有权限在此位置中保存文件”解决办法

    E浏览器下载文件保存时提示 解决办法: 1.Win + R,打开运行命令,输入gpedit.msc,如图所示 2.打开计算机本地组策略编辑器:选择计算机配置-windows设置-安全设置-本地策略-安 ...

  7. C语言程序设计100例之(25):确定进制

    例25    确定进制 问题描述 6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的.即 6(13)* 9(13)= 42(13),因为,在十三进制中,42 = 4 * 13 + ...

  8. java 编译时注解框架 lombok-ex

    lombok-ex lombok-ex 是一款类似于 lombok 的编译时注解框架. 编译时注,拥有运行时注解的便利性,和无任何损失的性能. 主要补充一些 lombok 没有实现,且自己会用到的常见 ...

  9. 【BZOJ 2138】stone

    Problem Description 话说 \(Nan\) 在海边等人,预计还要等上 \(M\) 分钟.为了打发时间,他玩起了石子. \(Nan\) 搬来了 \(N\) 堆石子,编号为 \(1\) ...

  10. 操作MyBatis引发Error setting null for parameter #X with JdbcType OTHER .无效的列类型

    再用MyBatis操作Oracle的时候,传入null值而引发的错误 异常信息: org.springframework.jdbc.UncategorizedSQLException: Error s ...