前台:
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon" id="AfEnduser2">省</span>
<asp:DropDownList ID="DDLprovince" class="form-control" runat="server" DataTextField="region_province_name" DataValueField="region_province_id" EnableViewState="True" AppendDataBoundItems="True" AutoPostBack="True" onselectedindexchanged="DDLprovinceSelectedIndexChanged" ></asp:DropDownList>
</div>
</div>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon" id="AfEnduser3">市</span>
<asp:DropDownList ID="DDLcity" class="form-control" runat="server" DataTextField="region_city_name" DataValueField="region_city_id" EnableViewState="True" AppendDataBoundItems="True" AutoPostBack="False" ></asp:DropDownList>
</div>
</div>
后台:
protected void DDLBind()
{
//DDLLogProWordsID.Items.Clear();
//实例化公共类的对象
DB db = new DB();
//定义SQL语句
//客户
string sqlstrA = "SELECT [contract_custom_id],[contract_custom_name] FROM [Base_contract_custom] ";
//实例化数据集DataTable用于存储查询结果
DataTable dtA = db.reDt(sqlstrA);
//绑定DropDownListt控件
DDLcustom.DataSource = dtA;//设置数据源,用于填充控件中的项的值列表
DDLcustom.DataBind();//将控件及其所有子控件绑定到指定的数据源
DDLcustom.Items.Insert(0, "-请选择-");
//省
string sqlstrB = "SELECT [region_province_id],[region_province_name] FROM [Base_region_province] ";
//实例化数据集DataTable用于存储查询结果
DataTable dtB = db.reDt(sqlstrB);
//绑定DropDownListt控件
DDLprovince.DataSource = dtB;//设置数据源,用于填充控件中的项的值列表
DDLprovince.DataBind();//将控件及其所有子控件绑定到指定的数据源
DDLprovince.Items.Insert(0, "-请选择-");
}
//Dropdown联动
protected void DDLprovinceSelectedIndexChanged(object sender, EventArgs e)
{
//注意省为主动DDL的AutoPostBack="true"
this.DDLcity.Items.Clear();
int DDLprovince_selected = Convert.ToInt32(DDLprovince.SelectedValue);
DB db = new DB();
string sqlstrC = "SELECT [region_city_id],[region_city_name] FROM [Base_region_city] where region_province_id=" + DDLprovince_selected + "";
DataTable dtc = db.reDt(sqlstrC);
DDLcity.DataSource = dtc;
DDLcity.DataBind();
DDLcity.Items.Insert(0, "-选择名称-");
//注意缺少这一句,会导致下一个代码在判定是否有空值时出现在问题,DDL的默认INDEX是0
}