用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
my22xo的公告
欢迎光临我的博客,也欢迎访问我的asp.net做的小站http://iaocstock.vicp.net,呵呵,希望结识一些朋友共同学习C#
文章分类
我的网站
丰胸产品
叫饭啦
整形美容
极好网络导航
深圳进出口网
存档

原创  AjaxPro真正实现无限级分类联动,含数据库 收藏

 由小灰的代码用Ajaxpro改写,小灰文章地址:http://blog.csdn.net/iuhxq/archive/2006/11/08/1372602.aspx

功能:无刷新无限级菜单联动

Asp.Net(C#)+AjaxPro+MSSQL(需引用AjaxPro.2.dll)

截图:无限级联动

Infinite_Class.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Infinite_Class.aspx.cs" Inherits="Web.AJAXPro.Infinite_Class" %>


    


    

ttt
< language=javascript defer type=text/javascript> //Infinite_Class无限级分类测试(作者QQ:241181876)--转载请注明出处 function CreateOption(i1,pid1,myWebClientID) { var myWebClientID = document.getElementById(myWebClientID); this.CreateNewOption = function(i,pid) { var arr = Web.AJAXPro.Infinite_Class.GetClassList(""+pid+"").value; while(myWebClientID.childNodes.length-1>=i) { myWebClientID.removeChild(myWebClientID.childNodes[myWebClientID.childNodes.length - 1]); } var tmp; var created = false; for ( var j = 0; j < arr.Rows.length; j++) { if (arr.Rows[j][arr.Columns[2].Name] == pid) { if (created==false) { created = true; tmp = document.createElement("select"); tmp.setAttribute("id", "liandong_" + i); //tmp.setAttribute("multiple", "multiple");// tmp.options[tmp.length] = new Option("请选择", "-1"); tmp.onchange = function() { pp(parseInt(tmp.getAttribute("id").replace("liandong_",""))+1,tmp.value); }; myWebClientID.appendChild(tmp); } tmp.options[tmp.options.length] = new Option(arr.Rows[j][arr.Columns[1].Name], arr.Rows[j][arr.Columns[0].Name]); } } } var pp = this.CreateNewOption; this.GetValue = function() { var value = ""; for (var i=0; i

Infinite_Class.aspx.cs源代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using BLL;
//Infinite_Class无限级分类测试(作者QQ:241181876)--转载请注明出处,感谢 小灰 提供指导
namespace Web.AJAXPro
{
    public partial class Infinite_Class : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(Infinite_Class));
        }

        [AjaxPro.AjaxMethod]
        public DataTable GetClassList(string pid)
        {
            SqlConnection conn = new SqlConnection("Server=.;DataBase=IAOC;uid=sa;pwd=");
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select Cid,ClassName,pid from InfiniteClass Where pid=" + pid + " order by orderby desc", conn);
            DataTable dt = new DataTable("class");
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);
            conn.Close();
            return dt;
        }

    }
}

SQL测试环境代码

use zdl_data
CREATE TABLE [dbo].[InfiniteClass](
	[cid] [int] IDENTITY(1,1) NOT NULL,
	[PID] [int] NULL,
	[ClassName] [nvarchar](50) NULL,
	[Orderby] [int] NULL,
)

insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'a1',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'b2',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'c3',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a11',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a12',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a13',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a14',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(2,'b21',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(2,'b22',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(3,'c31',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(3,'c32',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(4,'a1111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(4,'a1112',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(12,'a11111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(14,'a111111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(15,'a1111111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(16,'a11111111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(17,'a111111111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(18,'a1111111111',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(8,'b211',1)
insert into InfiniteClass(PID,ClassName,OrderBy) values(20,'b2111',1)
转贴请注明作者IAOC

发表于 @ 2008年07月17日 17:23:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇: 改进过的一个联动控件,使用更加简单方便,提供源代码(转) | 新一篇:C#中的API32(转贴)

  • 发表评论
  • 评论内容:
  •  
Copyright © my22xo
Powered by CSDN Blog