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 相关文章推荐
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
Feb 24 Javascript
JQuery AJAX 中文乱码问题解决
Jun 05 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
IE6浏览器中window.location.href无效的解决方法
Nov 20 Javascript
jQuery中removeClass()方法用法实例
Jan 05 Javascript
详解基于Bootstrap扁平化的后台框架Ace
Nov 27 Javascript
angular.JS实现网页禁用调试、复制和剪切
Mar 31 Javascript
JS实现的简单分页功能示例
Aug 23 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
VueQuillEditor富文本上传图片(非base64)
Jun 03 Javascript
Element实现动态表格的示例代码
Aug 02 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中zip_open()函数用法
2019/02/15 PHP
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
原生js实现3D轮播图
2020/03/21 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
全球度假村:Club Med
2017/11/27 全球购物
美国性感内衣店:Yandy
2018/06/12 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
大学应届生求职简历的自我评价
2013/10/08 职场文书
生物化学研究助理员求职信
2013/10/09 职场文书
美术教师自我鉴定
2014/02/12 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
水电工岗位职责
2015/02/14 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
音乐剧猫观后感
2015/06/04 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
vue中div禁止点击事件的实现
2022/04/02 Vue.js