Jquery.TreeView结合ASP.Net和数据库生成菜单导航条


Posted in Javascript onAugust 27, 2010

下面的例子将结合项目实际运用来使用Jquery.TreeView,当然在使用控件树需要现在相应的js文件
下面就把我生成的TreeView展现给大家看看希望对大家有所帮助!在使用之前需要下载控件树的js文件和Css样式

介绍一下表结构

M_ID M_Name M_ParentID M_URL M_Sort
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
然后新建一个网站,在新建的网站下添加CSS文件夹和js文件夹分别用于存放Css样式和JS,同时再添加一个image文件夹用于存放TreeView的图片
接着我们就开始实现我们的功能了!
前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<link rel="stylesheet" href="CSS/screen.css" /> 
<link rel="Stylesheet" href="CSS/jquery.treeview.css" /> 
<script src="js/jquery-1.4.2.js" type="text/javascript"></script> 
<script src="js/jquery.treeview.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function() { 
$("#tree").treeview(); 
}) 
</script> 
</head> 
<body> 
<div id="main"> 
<a>Main Demo</a> 
<div id="sidetree"> 
<ul id="tree" runat="server"> 
</ul> 
</div> 
</div> 
</body> 
</html>

后台代码:
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 
using System.Web.UI.HtmlControls; 
public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
DataSet ds = getDate(); 
createmenu(ds, null, tree); 
} 
} 
public DataSet getDate() 
{ 
DataSet ds = new DataSet(); 
string config = System.Configuration.ConfigurationManager.ConnectionStrings["LiveOffice"].ToString(); 
SqlConnection conn = new SqlConnection(config); 
SqlDataAdapter da = new SqlDataAdapter("select * from SystemMenu order by M_Sort", conn); 
da.Fill(ds); 
return ds; 
} 
private void createmenu(DataSet ds, string parentId, HtmlGenericControl UL) 
{ 
DataRow[] rows; 
if (string.IsNullOrEmpty(parentId)) 
rows = ds.Tables[0].Select("M_ParentID is null");//过滤 
else 
rows = ds.Tables[0].Select("M_ParentID='" + parentId + "'");//过滤 
foreach (DataRow t in rows) 
{ 
DataRow[] childern = ds.Tables[0].Select("M_ParentID =" + t["M_ID"].ToString());//用于判断是否有子节点 
HtmlGenericControl serverLi = new HtmlGenericControl("li");//生成Li标签,作为父节点 
if (childern.Length != 0 || parentId == "")//是父节点 
{ 
serverLi.InnerText = t["M_name"].ToString(); 
HtmlGenericControl serverUL = new HtmlGenericControl("ul"); 
serverLi.Controls.Add(serverUL); 
UL.Controls.Add(serverLi); 
createmenu(ds, t["M_ID"].ToString(), serverUL); 
} 
else 
{ 
//生成标签a 
HtmlAnchor NewAnchorControl = new HtmlAnchor(); 
// 设置标签a的属性 
NewAnchorControl.Name = "NewAnchorControl"; 
NewAnchorControl.InnerHtml = t["M_Name"].ToString(); 
NewAnchorControl.HRef = t["M_URL"].ToString(); 
NewAnchorControl.Target = "_black";//设置显示的位置,这里改一下 
serverLi.Controls.Add(NewAnchorControl); 
UL.Controls.Add(serverLi); 
createmenu(ds, t["M_ID"].ToString(), UL); 
} 
} 
} 
}
Javascript 相关文章推荐
javascript 面向对象的JavaScript类
May 04 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
Bootstrap每天必学之按钮(Button)插件
Apr 25 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 Javascript
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
详解如何使用Node.js实现热重载页面
May 06 Javascript
jquery 插件开发备注
Aug 27 #Javascript
Jquery + Ajax调用webService实例代码(asp.net)
Aug 27 #Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 #Javascript
ExtJs GridPanel简单的增删改实现代码
Aug 26 #Javascript
javascript oop开发滑动(slide)菜单控件
Aug 25 #Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 #Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 #Javascript
You might like
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
js的三种继承方式详解
2017/01/21 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
React中的refs的使用教程
2018/02/13 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python实现支付宝转账接口
2019/05/07 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python创建n行m列数组示例
2019/12/02 Python
Python下载的11种姿势(小结)
2020/11/18 Python
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
项目副经理岗位职责
2013/12/30 职场文书
求职信模板怎么做
2014/01/26 职场文书
中层干部培训方案
2014/06/16 职场文书
清明节主题班会
2015/08/14 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL