我一直试图将数据填充到数据库的下拉列表中。我想从两个下拉列表中选择值,并想用与数据库中的下拉列表值相对应的数据填充第三个下拉列表。但是第三个ddl将始终为空。
protected void ddl3_SelectedIndexChanged(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ddl3.Items.Clear();
s = "SELECT subject FROM subjects WHERE branch='" + ddl1.SelectedItem.Value + "' AND sem='" + ddl2.SelectedItem.Value + "'";
ds = dc.getdata(s);
for (i = 0; i < ds.Tables[0].Rows.Count; i++)
ddl3.Items.Add(ds.Tables[0].Rows[i][0].ToString());
}
假设数据库中的值是branch = IT,sem = I sem和sub = ML。在第一个ddl中选择IT,然后在第二个ddl中选择sem时,第三个ddl应显示ML和与此分支和sem相对应的其他数据。
答案 0 :(得分:1)
您输入的内容有误,您应按如下所示填写ddl2_SelectedIndexChanged
protected void ddl2_SelectedIndexChanged(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ddl3.Items.Clear();
s = "SELECT subject FROM subjects WHERE branch='" + ddl1.SelectedItem.Value + "' AND sem='" + ddl2.SelectedItem.Value + "'";
ds = dc.getdata(s);
for (i = 0; i < ds.Tables[0].Rows.Count; i++)
ddl3.Items.Add(ds.Tables[0].Rows[i][0].ToString());
}
如果将代码写入第二个下拉列表,请选择索引,然后传递dropdown1值和dropdown2值。
相关示例
http://www.dotnetfunda.com/codes/show/5512/dropdownlist-with-country-state-and-city-in-asp-net
答案 1 :(得分:0)
您不想在ddl3处理程序(ddl3_selected_index_changed)中填充依赖于ddl1和2的ddl3,因为在没有可供选择的选项时索引无法更改。填充后,请确保在调用处理程序之前它不会被覆盖。最简单的方法是在PreRender中填充ddl3。但是,这将创建许多不需要的数据库访问。最好在ddl1和ddl2的处理程序中填充ddl3。