我这里有一个是基于ajaxPro的事例,使用ajax技术做的一个地区的树型目录结构,完全手写的代码,没有使用任何的服务器端控件,ajax的实现是使用的ajaxPro.dll这个类库,通过前台的js来执行后台cs中的方法,获取返回值再使用DOM进行填充div,这样可以实现一个无刷新的树型目录,不知道对这位朋友有没有帮助,使用的是asp.net2.0,IDE是visual studio 2008,我把代码贴出来,你可以参考一下。有问题在下一定知无不言: [AjaxMethod] public string GetAllAreaInfoByAjax(int pid) { StringBuilder outHtml = new StringBuilder(""); DataSet ds = GetAreaSubInfo(pid); bool hasRescord = (0 != ds.Tables[0].Rows.Count); if (hasRescord) { outHtml.Append("<ul class=\"treeViewerG\" style=\"display:" + (ds.Tables[0].Rows[0]["AreaPrarentID"].ToString().Equals("-1") ? "block" : "none") + "\">\r\n"); foreach (DataRow dr in ds.Tables[0].Rows) { outHtml.Append(" <li class=\"" + (hasRescord ? "treeViewerS" : "treeViewerG") + "\"><span ondblclick=\"ShowThisTreeViewMenu(this)\" class=\"treeViewerG\">\r\n"); outHtml.Append(" " + Convert.ToString(dr["AreaName"]) + "<input type=\"radio\" name=\"cboxs\" vale=\"" + Convert.ToInt32(dr["AreaID"]) + "\" onclick=\"FillParentArea(" + Convert.ToInt32(dr["AreaID"]) + ",'" + Convert.ToString(dr["AreaName"]) + "')\" /></span>\r\n"); outHtml.Append(GetAllAreaInfoByAjax(Convert.ToInt32(dr["AreaID"]))); outHtml.Append(" </li>\r\n"); } outHtml.Append("</ul>\r\n"); } return outHtml.ToString(); } //这个[AjaxMethod]的attribute是标记这个方法为ajax方法,然后就可以在前台js直接以类名.方法名来调用这个方法.下面我再贴出前台实现的方法,请看看,不明白的问我: function GetAllAreaInfo() { Manage_AreaInsert.GetAllAreaInfoByAjax(-1,CallBack_GetAllAreaInfo); } function CallBack_GetAllAreaInfo(res) { var outHtml = "<img src=\"Images/Bg_TreeMenuTopClose.jpg\" alt=\"menuTop\" class=\"menuTop\"/>" + res.value; $("#treeViewers").html(outHtml); } 其它的如何在前台调用我就不贴出来了,相信楼主只需要这些代码就可以完成你所需要的内容。希望在下的回答能给你帮助~!~