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 相关文章推荐
ExtJS 2.0实用简明教程 之Border区域布局
Apr 29 Javascript
javascript 动态创建表格
Jan 08 Javascript
JavaScript保存并运算页面中数字类型变量的写法
Jul 06 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
js中最容易被忽视的事件问题大总结
May 15 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
深入理解vuex2.0 之 modules
Nov 20 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
JS实现随机生成10个手机号的方法示例
Dec 07 Javascript
js实现网页同时进行多个倒计时功能
Feb 25 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
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 开源框架22个简单简介
2009/08/24 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
Python实现的批量下载RFC文档
2015/03/10 Python
Python探索之pLSA实现代码
2017/10/25 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python自定义线程池实现方法分析
2018/02/07 Python
Django csrf 验证问题的实现
2018/10/09 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
生产内勤岗位职责
2013/12/07 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
会计专业求职信范文
2015/03/19 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python