<div class="form-group col-lg-12">
<label for="ddl1">1:</label>
<asp:DropDownList ID="ddl1" name="ddl1" CssClass="form-control" runat="server" />
</div>
<div class="form-group col-lg-12">
<label for="ddl2">1:</label>
<asp:DropDownList ID="ddl2" name="ddl2" CssClass="form-control" runat="server" required />
</div>
我试图根据ddl1的值选择ddl2的下拉列表项目。因此,“if”函数的Get2为& Get2。 注意:每个ddl的数据将来自我的数据库中的表格。根据第一个选择的下拉列表项加载第二个下拉列表项目
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddl1Get();
Get1();
Get2();
}
#region "Function"
if (ddl1.SelectedItem.Value == "1")
{
Get1();
}
else if (1.SelectedItem.Value == "2")
{
Get2();
}
#endregion
}
#region "Function"
if (ddl1.SelectedItem.Value == "1")
{
Get1();
}
else if (ddl1.SelectedItem.Value == "2")
{
Get2();
}
#endregion
void Get1()
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT ID, Category FROM Table1";
SqlDataReader dr = cmd.ExecuteReader();
ddl2.DataSource = dr;
ddl2.DataTextField = "Category";
ddl2.DataValueField = "Category";
ddl2.DataBind();
con.Close();
ddl2.Items.Insert(0, new ListItem(" ", ""));
}
void Get2()
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT ID, Category FROM Table2";
SqlDataReader dr = cmd.ExecuteReader();
ddl2.DataSource = dr;
ddl2.DataTextField = "Category";
ddl2.DataValueField = "Category";
ddl2.DataBind();
con.Close();
ddl2.Items.Insert(0, new ListItem(" ", ""));
}
void ddlGet()
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT ID, Category FROM Table0";
SqlDataReader dr = cmd.ExecuteReader();
ddl1.DataSource = dr;
ddl1.DataTextField = "Category";
ddl1.DataValueField = "Category";
ddl1.DataBind();
con.Close();
ddl1.Items.Insert(0, new ListItem(" ", ""));
}
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddl1.SelectedItem.Value == "1")
{
Get1();
}
else if (ddl1.SelectedItem.Value == "2")
{
Get2();
}
}
你的Page_Load事件是什么样子..这是你应该检查IsPostBack等事情的地方。你甚至试图通过使用调试器的代码..?我也会认为你在Select查询中的第二个下拉列表,你会看到一个Where子句... – MethodMan
也是为什么你向我们展示'void Get2()'方法两次是你粘贴代码中的一个错误。 。? – MethodMan
@MethodMan我不好,我现在修好了。 – Allocen