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 相关文章推荐
JQuery 浮动导航栏实现代码
Aug 27 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 Javascript
js实现简单的联动菜单效果
Aug 19 Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 11 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP如何编写易读的代码
2007/07/10 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
PHP学习记录之数组函数
2018/06/01 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
javascript深入理解js闭包
2010/07/03 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
python中的字典使用分享
2016/07/31 Python
使用python实现链表操作
2018/01/26 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python实现ip代理池功能示例
2019/07/05 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python如何处理程序无法打开
2020/06/16 Python
python如何代码集体右移
2020/07/20 Python
python使用建议与技巧分享(二)
2020/08/17 Python
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
c++工程师面试问题
2013/08/04 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
求职自荐信怎么写
2015/03/04 职场文书
公司备用金管理制度
2015/08/04 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python