在ASP.NET网站中,如果想实现联动,在不使用无刷新的前提下,唯有使用dropdownlist的SelectedIndexChanged事件。
以下为实例代码:
页面中存在两个控件,全部都为dropdownlist控件,一个名为:DropD_prov;另外一个名为:DropD_city;
前者显示省份,后者根据前者选择的省份,自动显示该省份对应的地区;代码如下:
一、事件代码
protected void DropD_prov_SelectedIndexChanged(object sender, EventArgs e)
{
string pro_name = DropD_prov.SelectedValue;
DataSet ds = CityDB.getAllCity(pro_name);
DataTable dt = ds.Tables[0];
DropD_city.DataSource = ds;
DropD_city.DataTextField=dt.Columns["city_name"].ToString();
DropD_city.DataValueField = dt.Columns["city_name"].ToString();
DropD_city.DataBind();
//DataRow dr = dt.Rows;
}
二、调用函数的代码
public static DataSet getAllCity(string prov_name)
{
ConDB con = new ConDB();
IDbConnection sqlcon = con.getcon(); //获得一个连接
string select_str = "select city_name from View_city_prov where prov_name=@prov_name";
IDbCommand cmd = new SqlCommand();
cmd.CommandText = select_str;//将SQL绑定到命令中
cmd.Connection = sqlcon; //将连接绑定到命令中
IDataParameter p_prov_name = new SqlParameter();
p_prov_name.ParameterName = "@prov_name";
p_prov_name.Value = prov_name;
p_prov_name.DbType = DbType.String;
cmd.Parameters.Add(p_prov_name);
IDbDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}