日期:2014-05-20  浏览次数:20960 次

高分相送,dropdownlist级联添加问题?
现在要做一个dropdownlist级联..

效果如下:
 |-(这只是一个样式,无所谓的)作为一级分类
  |-中国
  |-北京市
  |-海淀区
  |-韩国
当我选择一级分类时,我进行添加操作,就会加到最顶级里去
效果如下:
 |-中国
  |-北京市
  |-海淀区
 |-韩国
 |-美国
当我选择中国时,我进行添加操作,就会加到中国里去
效果如下:
 |-中国
  |-北京市
  |-海淀区
  |-湖南省
当我选择北京市进行添加的时候,效果如下
 |-中国
  |-北京市
  |-海淀区
  |-XX区
  |-湖南省
数据库表结构如下:
  [id] [int] IDENTITY(1,1) NOT NULL,--编号,自动增长
[lan] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--多国化语言(这里可以不用到)
[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,--地区名称
[parentid] [int] NOT NULL,--父级编号
[num] [nvarchar](50),--编号
请问哪位大虾可以帮小弟实现一下?我们主管说是用到递归,但是小弟不会..

请各位大虾帮帮忙..

还有,我不需要用到JS.我用的是vs2003 .net1.1版本的.

------解决方案--------------------
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;

public partial class ascx_yhzc : System.Web.UI.UserControl
{
Maticsoft.BLL.users mbu = new Maticsoft.BLL.users();
Maticsoft.Model.users mbus = new Maticsoft.Model.users();
Maticsoft.BLL.sheng mbsheng = new Maticsoft.BLL.sheng();
Maticsoft.BLL.shi mbshi = new Maticsoft.BLL.shi();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
binddro1();
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
if (TextBox1.Text != null)
{
DataSet ds = new DataSet();
string name = TextBox1.Text.Trim();
string strWhere = " and u.usname='"+name+"'";
ds = mbu.GetList(strWhere);
string name1 = TextBox1.Text.Trim().ToString();
string pass = TextBox2.Text.Trim().ToString();
string sex = "";
if (RadioButtonList1.SelectedItem.Equals("男"))
{
sex = "男";
}
else
{
sex = "女";
}
string age = TextBox6.Text.Trim().ToString();
string tel = TextBox7.Text.Trim().ToString();
string qq = TextBox8.Text.Trim().ToString();
string email = TextBox9.Text.Trim().ToString();
string sheng = DropDownList1.SelectedValue.ToString();
string shi = DropDownList2.SelectedValue.ToString();

if (TextBox1.Text.Equals("")||ds.Tables[0].Rows.Count>0)
{
Response.Write("<script>alert('已经存在的用户名');</script>");
TextBox1.Text = "";
}
else if (TextBox2.Text.Equals("") || TextBox2.Text.Length > 16 || TextBox2.Text.Length < 6)
{
Response.Write("<script>alert('请输入6-16位的密码');</script>");
TextBox2.Text = "";
}
else if (TextBox3.Text != TextBox2.Text)
{
Response.Write("<script>alert('两次密码输入不一致');</script>");
TextBox2.Text = "";
TextBox3.Text = "";
}
else if (TextBox6.Text.Equals(""))
{
Response.Write("<script>alert('请输入年龄');</script>");