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 &amp;&amp; document.documentElement.scrollTop
Dec 01 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
再次谈论Javascript中的this
Jun 23 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
Mar 09 Javascript
jQuery正则验证注册页面经典实例
Jun 10 jQuery
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
vue定义全局变量和全局方法的方法示例
Aug 01 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
jQuery实现全选按钮
Jan 01 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
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php类的定义与继承用法实例
2015/07/07 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
用Vue写一个分页器的示例代码
2018/04/22 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python标准库与第三方库详解
2014/07/22 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python实现简单中文词频统计示例
2017/11/08 Python
如何用Python 加密文件
2020/09/10 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
教学改革实施方案
2014/03/31 职场文书
鉴定评语大全
2014/05/05 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
十七岁的单车观后感
2015/06/12 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript