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 相关文章推荐
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
Oct 29 Javascript
html+css+js实现xp window界面及有关功能
Mar 26 Javascript
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
客户端js判断文件类型和文件大小即限制上传大小
Nov 20 Javascript
javascript数组去重方法汇总
Apr 23 Javascript
Jquery实现动态切换图片的方法
May 18 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
基于vue.js的分页插件详解
Nov 27 Javascript
不得不知的ES6小技巧
Jul 28 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
Aug 17 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 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 模拟POST提交的2种方法详解
2013/06/17 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python 字典中取值的两种方法小结
2018/08/02 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
利用python绘制正态分布曲线
2021/01/04 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
生态学毕业生自荐信
2013/10/27 职场文书
财会自我鉴定范文
2013/12/27 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
自我检讨书怎么写
2015/05/07 职场文书
法律服务所工作总结
2015/08/10 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android
Golang ort 中的sortInts 方法
2022/04/24 Golang