我正在尝试运行此代码
private void LoadProdName()
{
con.Open();
cmd = new SqlCommand(@"SELECT productName
FROM Products3
WHERE productType = @Type",con);
cmd.Parameters.AddWithValue("@Type",ddlProducts.SelectedItem.Value.ToString());
da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
ddlProdName.DataSource = dt;
ddlProdName.DataBind();
con.Close();
}
我的selectedIndesChange代码:
protected void ddlProducts_SelectedIndexChanged(object sender, EventArgs e)
{
LoadProdName();
}
它使用我的第一个下拉列表的值。我的问题是,每当我在下拉列表上选择 ProductType 时,它都会使用选择查询填充我的第二个 DDL,但我根本没有从第二个下拉列表中获取任何数据。
最佳答案
对于级联下拉列表,您必须在下拉列表事件“OnSelectedIndexChanged”中执行回发或使用对您的方法的 AJAX 调用
试试这个指南:http://www.aspsnippets.com/Articles/Creating-Cascading-DropDownLists-in-ASP.Net.aspx
在查询后尝试此代码
ddlProdName.DataSource = cmd.ExecuteReader();
ddlProdName.DataTextField = "productName";
ddlProdName.DataValueField = "productName"; //or productId
ddlProdName.DataBind();
关于c# - 在下拉列表上绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468353/