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 相关文章推荐
js中prototype用法详细介绍
Nov 14 Javascript
jQuery中parents()和parent()的区别分析
Oct 28 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
jQuery Mobile页面返回不需要重新get
Apr 26 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
Feb 27 Javascript
微信小程序 引入es6 promise
Apr 12 Javascript
基于JavaScript实现的希尔排序算法分析
Apr 14 Javascript
vue实现点击图片放大效果
Aug 15 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
在vue项目中引入高德地图及其UI组件的方法
Sep 04 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
微信小程序缓存过期时间的使用详情
May 12 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 microtime获取浮点的时间戳
2010/02/21 PHP
PHP操作数组相关函数
2011/02/03 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
php实现搜索类封装示例
2016/03/31 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
使用Python进行目录的对比方法
2018/11/01 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
python热力图实现简单方法
2021/01/29 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
考博专家推荐信模板
2013/12/02 职场文书
超市业务员岗位职责
2013/12/05 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年党员自评材料
2014/12/17 职场文书
学习十八大的感悟
2015/08/11 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
详解Vue slot插槽
2021/11/20 Vue.js