【发布时间】:2015-10-25 16:34:44
【问题描述】:
我有 4 个下拉列表 - 教师、部门、分支和部门。我的代码应该像这样工作,当我更改教师索引时,部门、分支和部门索引应该相应更改。其他 3 相同。但它仅在我更改 ddlFaculty 下拉列表的索引时有效,不适用于其他下拉列表。 Autopostback 对每个下拉列表都是正确的。我所有的查询都很好。我的代码是这样的..
protected void ddlFaculty_SelectedIndexChanged(object sender, EventArgs e)
{
lblStatus.Text = "Faculty index changed...";
lblStatus.Visible = true;
ddlDept.Items.Clear();
ddlBranch.Items.Clear();
ddlDivison.Items.Clear();
ddlDegree.Items.Clear();
string connectionString = GlobalVariables.databasePath;
SqlConnection sqlCon = new SqlConnection(connectionString);
sqlCon.Open();
string query = "select dp_name from DEPT where fac_id=(select fac_id from FACULTY where fac_name='" + ddlFaculty.SelectedValue + "')";
SqlCommand cmd = new SqlCommand(query, sqlCon);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
ddlDept.Items.Add(reader.GetValue(0).ToString());
}
reader.Close();
sqlCon.Close();
}
protected void ddlDept_SelectedIndexChanged(object sender, EventArgs e)
{
lblStatus.Text = "Dept index changed...";
lblStatus.Visible = true;
ddlBranch.Items.Clear();
ddlDivison.Items.Clear();
string connectionString = GlobalVariables.databasePath;
SqlConnection sqlCon = new SqlConnection(connectionString);
sqlCon.Open();
string query = "select br_name from BRANCH where dp_id=(select dp_id from DEPT where dp_name='" + strDeptName + "')";
SqlCommand cmd = new SqlCommand(query, sqlCon);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
ddlBranch.Items.Add(reader.GetValue(0).ToString());
}
reader.Close();
sqlCon.Close();
}
protected void ddlBranch_SelectedIndexChanged(object sender, EventArgs e)
{
lblStatus.Text = "Branch index changed...";
lblStatus.Visible = true;
ddlDivison.Items.Clear();
string connectionString = GlobalVariables.databasePath;
SqlConnection sqlCon = new SqlConnection(connectionString);
sqlCon.Open();
string query = "select dv_name from DIVISON where br_id=(select br_id from BRANCH where br_name='" + strBranchName + "')";
SqlCommand cmd = new SqlCommand(query, sqlCon);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
ddlDivison.Items.Add(reader.GetValue(0).ToString());
}
reader.Close();
sqlCon.Close();
}
【问题讨论】:
-
同时显示您的标记和 PageLoad 事件。
-
你最初是如何绑定下拉菜单的?
-
最初我只将教师下拉菜单绑定到数据库。对于其他3个下拉菜单,我根据选定的教师索引添加项目。所以当我更改教师索引时,我首先要清除所有其他下拉菜单,然后根据新选择的教师索引添加项目
标签: c# sql asp.net drop-down-menu