JsTree树控件_Ajax异步加载节点且有各种各样的功能

折腾了好长时间,终于在今天用JsTree插件实现了Ajax异步加载节点的功能。

 

Zero.aspx页,该页用于显示树控件。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Zero.aspx.cs" Inherits="VistaToNewSchol.Zero" %>

 

<!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">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title></title>

     <script type="text/javascript" src="js/jquery-1.4.2.js"></script>

    <script type="text/javascript" src="js/jquery.tree.js"></script>

   

    <script type="text/javascript" >

 

        $(function() {

           

            $("#async_html_1").tree({

                data: {

                    async: true,

                    opts: {

                        url: "ZeroData.aspx"

                    }

                },

 

                callback: {

                     beforedata: function(NODE, TREE_OBJ) {

                        return { id: $(NODE).attr("id") || -1 }

                  

                                       

                } 

 

            });

        });    

    </script>

   

</head>

<body>

    <form id="form1" runat="server">

   

    <div  id="async_html_1">

    </div>

   

    </form>

</body>

</html>

 

 

 

后台用于动态提取节点数据的页面 ZeroData .aspx.cs

 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.Text;

 

namespace VistaToNewSchol

{

    public partial class ZeroData : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                int intId = Convert.ToInt32(Request["id"].ToString()); //默认父节点是-1

                string html = getNode(intId);

                Response.Write(html);

 

                Response.End();

            }

        }

 

        //得到节点

        public string getNode(int parentID)

        {

            string html = "";          

            StringBuilder strSql = new StringBuilder();

            strSql.Append("select metaid,metaName  ");

            strSql.Append(" from dbo.metadata  ");

            strSql.Append(" where parentid=" + parentID + " ");

            DataSet ds = VistaToNewSchol.DAL.DbHelperSQL.Query(strSql.ToString());            

 

            if (ds.Tables[0].Rows.Count > 0)

            {

                foreach (DataRow row in ds.Tables[0].Rows)

                {

                    html += "<li id=/"" + row[0].ToString() + "/" class=/"closed/"><a href='#'><ins>&nbsp;</ins>" + row[0].ToString() + row[1].ToString() + "</a>";

                    html += "</li>";

                }

            }

 

            return html;

 

        }

 

    }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值