写个CS,AJAX也可以using System;using System.Data;using System.Configuration;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;/// <summary>/// provcityservstat 的摘要说明/// 这个类主要是用来当省/城市/服务站都是下拉进判断,省和城市教师都是autopostback/// </summary>public class provcityservstat{ public DropDownList prov; public DropDownList city; public DropDownList servstat; public string servstat_id;public provcityservstat(){//// TODO: 在此处添加构造函数逻辑//} //绑定省的下拉 public void dataBindToProv() { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_prov", con); SqlDataReader sdr = cmd.ExecuteReader(); this.prov.DataSource = sdr; this.prov.DataTextField = "prov_name"; this.prov.DataValueField = "prov_id"; this.prov.DataBind(); sdr.Close(); con.Close(); }
//绑定城市下拉 public void dataBindToCity() { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_city where city_provid = " + this.prov.SelectedValue, con); SqlDataReader sdr = cmd.ExecuteReader(); this.city.DataSource = sdr; this.city.DataTextField = "city_name"; this.city.DataValueField = "city_id"; this.city.DataBind(); sdr.Close(); con.Close(); }
//绑定服务站 public void dataBindToServstat() { if (this.city.SelectedValue != "") { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_servstat where servstat_cityid = " + this.city.SelectedValue, con); SqlDataReader sdr = cmd.ExecuteReader(); this.servstat.DataSource = sdr; this.servstat.DataTextField = "servstat_name"; this.servstat.DataValueField = "servstat_id"; this.servstat.DataBind(); sdr.Close(); con.Close(); } else { this.servstat.Items.Clear(); } }
//一般用于新增时省,城市,服务站的下拉 public void dataBindAdd() { dataBindToProv(); dataBindToCity(); dataBindToServstat(); }
//当省的下拉发生变化时 public void databinddropdownprov() { dataBindToCity(); dataBindToServstat(); }
//下面开始是用于修改的,根据已知的servstat_id得出是哪个服务站,哪个城市,哪个省 public void dataBindMod() { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_servstat,t_city,t_prov where prov_id = city_provid and city_id = servstat_cityid and servstat_id = " + servstat_id, con); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read()) { dataBindModProv(sdr["prov_id"].ToString()); dataBindModCity(sdr["prov_id"].ToString(), sdr["city_id"].ToString()); dataBindModServstat(sdr["city_id"].ToString(), sdr["servstat_id"].ToString()); } sdr.Close(); con.Close(); }
//绑定到修改时的省 public void dataBindModProv(string prov_id) { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_prov", con); SqlDataReader sdr = cmd.ExecuteReader(); this.prov.Items.Clear(); int i = 0; while (sdr.Read()) { this.prov.Items.Insert(i, new ListItem(sdr["prov_name"].ToString(), sdr["prov_id"].ToString())); if (prov_id == sdr["prov_id"].ToString()) { this.prov.Items[i].Selected = true; } i++; } sdr.Close(); con.Close(); }
//绑定到修改时的城市 public void dataBindModCity(string prov_id, string city_id) { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_city where city_provid = " + prov_id, con); SqlDataReader sdr = cmd.ExecuteReader(); this.city.Items.Clear(); int i = 0; while (sdr.Read()) { this.city.Items.Insert(i, new ListItem(sdr["city_name"].ToString(), sdr["city_id"].ToString())); if (city_id == sdr["city_id"].ToString()) { this.city.Items[i].Selected = true; } i++; } sdr.Close(); con.Close(); }
//绑定到修改时的服务站 public void dataBindModServstat(string city_id, string servstat_id) { SqlConnection con = db.createSqlConneciton(); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_servstat where servstat_cityid = " + city_id, con); SqlDataReader sdr = cmd.ExecuteReader(); this.servstat.Items.Clear(); int i = 0; while (sdr.Read()) { this.servstat.Items.Insert(i, new ListItem(sdr["servstat_name"].ToString(), sdr["servstat_id"].ToString())); if (servstat_id == sdr["servstat_id"].ToString()) { this.servstat.Items[i].Selected = true; } i++; } sdr.Close(); con.Close(); }}
参考一下我的,我这个是三级的注意,下拉的autopostback要先上
