【发布时间】:2014-01-31 18:00:12
【问题描述】:
我希望能够在从另一个下拉列表(ddlType)中选择一个值后填充一个下拉列表(ddlExercise) 目前,我正在从填充下拉列表的 sql 查询中获取 ddlType 下拉列表的值,但是当我选择某些内容时,第二个下拉列表仍然为空。 我在 ddlType 下拉列表中有 3 个值(Gym,Core,Cardio),一旦我选择其中一个,我就使用 dropdownlist.selectedvalue 来检索其相应的结果。 这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Con String");
if (!IsPostBack)
{ BindExerciseType(); }
}
public void BindExerciseType()
{
con.Open();
SqlCommand cmd = new SqlCommand("select ExerciseType from ExerciseType", con);
SqlDataReader dr = cmd.ExecuteReader();
ddlType.DataSource = dr;
ddlType.Items.Clear();
ddlType.Items.Add("--Please Select country--");
ddlType.DataTextField = "ExerciseType";
ddlType.DataValueField = "ExerciseType";
ddlType.DataBind();
con.Close();
}
public void BindExercise()
{
con.Open();
SqlCommand cmd = new SqlCommand("select ExerciseName from ExerciseDisplay Where TypeName='" + ddlType.SelectedValue + "'", con);
SqlDataReader dr = cmd.ExecuteReader();
ddlExercise.DataSource = dr;
ddlExercise.Items.Clear();
ddlExercise.Items.Add("--Please Select country--");
ddlExercise.DataTextField = "ExerciseName";
ddlExercise.DataValueField = "ExerciseName";
ddlExercise.DataBind();
con.Close();
}
protected void ddlExercise_SelectedIndexChanged(object sender, EventArgs e)
{
BindExercise();
}
任何想法为什么这可能是错误的?我在两个下拉列表中都将 autopostback 属性设置为 true。任何帮助将不胜感激!
【问题讨论】:
标签: c# asp.net sql drop-down-menu