我使用二级联动,第一级为km,第二级为dm,都是下拉列表,其中dm的Enabled的属性用了一个checkbox控制,没使用AJax,那个我不太懂,应用时出了问题,操作如下:
选中km,选中checkbox,dm做出了改变,到这一步都正常,当checkbox已经是选中状态时,选择一级下拉列表km时,下拉列表dm不跟着发生变化,请教高手这该怎么办?程序如下
protected void km_SelectedIndexChanged(object sender, EventArgs e) {
dm.Items.Clear();
string str = "Data Source=abc;Persist Security Info=True;User ID=123;Password=345;Unicode=True";
string bmbh = km.SelectedValue;
System.Data.DataTable dt = new System.Data.DataTable();
string sql = "select distinct dm from kddyb where km='" + bmbh + "' order by dm";
dt = WebFunction.dataTable(sql, constr);
for (int i = 0; i < dt.Rows.Count; i++)
{
dm.Items.Add(dt.Rows[i][0].ToString());
}
} protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox2.Checked == true)
{
dm.Enabled = true;
}
else
{
dm.Enabled = false;
}
}
选中km,选中checkbox,dm做出了改变,到这一步都正常,当checkbox已经是选中状态时,选择一级下拉列表km时,下拉列表dm不跟着发生变化,请教高手这该怎么办?程序如下
protected void km_SelectedIndexChanged(object sender, EventArgs e) {
dm.Items.Clear();
string str = "Data Source=abc;Persist Security Info=True;User ID=123;Password=345;Unicode=True";
string bmbh = km.SelectedValue;
System.Data.DataTable dt = new System.Data.DataTable();
string sql = "select distinct dm from kddyb where km='" + bmbh + "' order by dm";
dt = WebFunction.dataTable(sql, constr);
for (int i = 0; i < dt.Rows.Count; i++)
{
dm.Items.Add(dt.Rows[i][0].ToString());
}
} protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox2.Checked == true)
{
dm.Enabled = true;
}
else
{
dm.Enabled = false;
}
}
还有一个就是你改变前后的值是不是一样,所以才没看出来改变过???
http://blog.sina.com.cn/s/blog_5f92e8c50100in39.html很详细了