配置: <?xml version="1.0" encoding="utf-8"?> <configuration> <connectionStrings> <!--数据库连接字符--> <add name="Conn" connectionString="~/App_Data/Data.mdb"/> </connectionStrings> <system.web> <compilation debug="true"></compilation> <authentication mode="Windows" /> <httpHandlers> <!--AJAXPRO--> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers> </system.web> </configuration> 前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DroDowsList.aspx.cs" Inherits="DroDowsList" %> <!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>Asp.Net AjaxPro无刷新三级分类</title> <mce:style type="text/css"><!-- #Select1 { width: 100px; } #Select2 { width: 100px; } #Select3 { width: 100px; } --></mce:style><style type="text/css" mce_bogus="1"> #Select1 { width: 100px; } #Select2 { width: 100px; } #Select3 { width: 100px; } </style> <mce:script type="text/javascript"><!-- function $(s) { return document.getElementById(s); } //二级 function ShowTable(id) { var source = telesa.getTable(id).value; $("Select2").options.length = 0; $("Select2").options.add(new Option("--请选择--", 0)); for (var i = 0; i < source.Rows.length; i++) { $("Select2").options.add(new Option(source.Rows[i].name, source.Rows[i].code)); } } //三级 function ShowTable2(id) { var source = telesa.getTable2(id).value; $("Select3").options.length = 0; $("Select3").options.add(new Option("--请选择--", 0)); for (var i = 0; i < source.Rows.length; i++) { $("Select3").options.add(new Option(source.Rows[i].name, source.Rows[i].code)); } } //取值 function getText() { var a = $('Select1').options[$('Select1').selectedIndex].text; var b = $('Select2').options[$('Select2').selectedIndex].text; var c = $('Select3').options[$('Select3').selectedIndex].text; alert(a + b + c); } // --></mce:script> </head> <body> <form id="form1" runat="server"> <div> <span>达达Asp.Net AjaxPro无刷新三级分类</span><br /> <select id="Select1" runat="server" οnchange="ShowTable(this.options[selectedIndex].value);"> </select> <select id="Select2" runat="server" οnchange="ShowTable2(this.options[selectedIndex].value);"> </select> <select id="Select3" runat="server"> </select> <input id="Button1" type="button" value="JS取值" οnclick="getText()" /> </div> </form> </body> </html> 后台代码: using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; [AjaxPro.AjaxNamespace("telesa")] public partial class DroDowsList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(DroDowsList)); if (!IsPostBack) { Bind(); } Select1.Items.Insert(0, "--请选择--"); this.Select2.Disabled = false; this.Select3.Disabled = false; } //二级 [AjaxPro.AjaxMethod] public DataTable getTable(int cid) { string sql = "select * from [city] where provinceId=" + cid; return DbHelper.OleDbHelper.GetDataTable(sql); } //三级 [AjaxPro.AjaxMethod] public DataTable getTable2(int cid) { string sql = "select * from [area] where cityId=" + cid; return DbHelper.OleDbHelper.GetDataTable(sql); } //一级 public void Bind() { string sql = "select * from [province]"; DataTable Dt = DbHelper.OleDbHelper.GetDataSet(sql).Tables[0]; string code, name; for (int i = 0; i < Dt.Rows.Count; i++) { code = Dt.Rows[i]["code"].ToString(); name = Dt.Rows[i]["name"].ToString(); Select1.Items.Add(new ListItem(name, code)); } } } 运行结果: