Jquery.TreeView結(jié)合ASP.Net和數(shù)據(jù)庫生成菜單導(dǎo)航條
更新時間:2010年08月27日 19:35:51 作者:
在網(wǎng)上瀏覽了許多關(guān)于利用Jquery.TreeView插件生成樹的例子!但是大多數(shù)都沒有結(jié)合數(shù)據(jù)庫來生成樹,很難運用到實際項目中!
下面的例子將結(jié)合項目實際運用來使用Jquery.TreeView,當(dāng)然在使用控件樹需要現(xiàn)在相應(yīng)的js文件
下面就把我生成的TreeView展現(xiàn)給大家看看希望對大家有所幫助!在使用之前需要下載控件樹的js文件和Css樣式
介紹一下表結(jié)構(gòu)
M_ID M_Name M_ParentID M_URL M_Sort

然后新建一個網(wǎng)站,在新建的網(wǎng)站下添加CSS文件夾和js文件夾分別用于存放Css樣式和JS,同時再添加一個image文件夾用于存放TreeView的圖片
接著我們就開始實現(xiàn)我們的功能了!
前臺代碼
<%@ 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());//用于判斷是否有子節(jié)點
HtmlGenericControl serverLi = new HtmlGenericControl("li");//生成Li標(biāo)簽,作為父節(jié)點
if (childern.Length != 0 || parentId == "")//是父節(jié)點
{
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
{
//生成標(biāo)簽a
HtmlAnchor NewAnchorControl = new HtmlAnchor();
// 設(shè)置標(biāo)簽a的屬性
NewAnchorControl.Name = "NewAnchorControl";
NewAnchorControl.InnerHtml = t["M_Name"].ToString();
NewAnchorControl.HRef = t["M_URL"].ToString();
NewAnchorControl.Target = "_black";//設(shè)置顯示的位置,這里改一下
serverLi.Controls.Add(NewAnchorControl);
UL.Controls.Add(serverLi);
createmenu(ds, t["M_ID"].ToString(), UL);
}
}
}
}
下面就把我生成的TreeView展現(xiàn)給大家看看希望對大家有所幫助!在使用之前需要下載控件樹的js文件和Css樣式
介紹一下表結(jié)構(gòu)
M_ID M_Name M_ParentID M_URL M_Sort

然后新建一個網(wǎng)站,在新建的網(wǎng)站下添加CSS文件夾和js文件夾分別用于存放Css樣式和JS,同時再添加一個image文件夾用于存放TreeView的圖片
接著我們就開始實現(xiàn)我們的功能了!
前臺代碼
復(fù)制代碼 代碼如下:
<%@ 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>
后臺代碼:
復(fù)制代碼 代碼如下:
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());//用于判斷是否有子節(jié)點
HtmlGenericControl serverLi = new HtmlGenericControl("li");//生成Li標(biāo)簽,作為父節(jié)點
if (childern.Length != 0 || parentId == "")//是父節(jié)點
{
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
{
//生成標(biāo)簽a
HtmlAnchor NewAnchorControl = new HtmlAnchor();
// 設(shè)置標(biāo)簽a的屬性
NewAnchorControl.Name = "NewAnchorControl";
NewAnchorControl.InnerHtml = t["M_Name"].ToString();
NewAnchorControl.HRef = t["M_URL"].ToString();
NewAnchorControl.Target = "_black";//設(shè)置顯示的位置,這里改一下
serverLi.Controls.Add(NewAnchorControl);
UL.Controls.Add(serverLi);
createmenu(ds, t["M_ID"].ToString(), UL);
}
}
}
}
您可能感興趣的文章:
- 基于MVC5和Bootstrap的jQuery TreeView樹形控件(二)之?dāng)?shù)據(jù)支持json字符串、list集合
- 基于MVC5和Bootstrap的jQuery TreeView樹形控件(一)之?dāng)?shù)據(jù)支持json字符串、list集合
- jquery實現(xiàn)點擊TreeView文本父節(jié)點展開/折疊子節(jié)點
- ASP.NET中基于JQUERY的高性能的TreeView補充
- 打造基于jQuery的高性能TreeView(asp.net)
- 為jQuery.Treeview添加右鍵菜單的實現(xiàn)代碼
- jQuery 學(xué)習(xí)第六課 實現(xiàn)一個Ajax的TreeView
- 選擇TreeView控件的樹狀數(shù)據(jù)節(jié)點的JS方法(jquery)
- jQuery 樹形結(jié)構(gòu)的選擇器
- jQuery treeview樹形結(jié)構(gòu)應(yīng)用
相關(guān)文章
基于Jquery+Ajax+Json實現(xiàn)分頁顯示附效果圖
后臺action產(chǎn)生json數(shù)據(jù),js獲取json數(shù)據(jù)分頁顯示,詳細(xì)的示例代碼如下,需要的朋友可以學(xué)習(xí)下2014-07-07
jQuery學(xué)習(xí)之prop和attr的區(qū)別示例介紹
prop和attr的區(qū)別你知道嗎?在本文有些不錯的示例對兩者詳細(xì)介紹,感興趣的朋友不要錯過2013-11-11
jQuery flip插件實現(xiàn)的翻牌效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery flip插件實現(xiàn)的翻牌效果,可實現(xiàn)類似卡羅牌翻頁的視覺效果,涉及jquery.flip.min.js插件的使用,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-09-09
用jQuery將JavaScript對象轉(zhuǎn)換為querystring查詢字符串的方法
這篇文章主要介紹了用jQuery將JavaScript對象轉(zhuǎn)換為querystring查詢字符串的方法,本文給大家分享兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
jquery html動態(tài)生成select標(biāo)簽出問題的解決方法
用jquery,json從后臺獲取一個列表,然后用一個動態(tài)生成的select標(biāo)簽顯示出來,結(jié)果出現(xiàn)錯誤,下面為大家分享個不錯的解決方法,喜歡的朋友可以參考下2013-11-11
jQuery實現(xiàn)下拉菜單(內(nèi)容為時間)的實時更新及圖表的隨動更新的方法
這篇文章主要介紹了實現(xiàn)下拉菜單(內(nèi)容為時間)的實時更新及圖表的隨動更新的方法的相關(guān)資料,需要的朋友可以參考下2016-07-07

