我如何在两个下拉列表上抓取选定的索引OnSelectedIndexChanged

本文关键字:抓取 OnSelectedIndexChanged 索引 下拉列表 两个 | 更新日期: 2023-09-27 18:02:41

我试图使用两个下拉列表来过滤数据。我设置两个OnSelectedIndexChanged等于下面的方法。问题是它只抓取DDL的SelectedIndex。例如:如果我在DDL1中选择一个选项,它会抓取该值,而不会抓取DDL2的值。它们都有相同的OnSelectedIndexChanged,我认为它会抓住两者的当前值。是否有一种方法可以使它同时查看两个DDL控件?

 protected void BrandsList_SelectedIndexChanged(object sender, EventArgs e)
 {
    int DDLcatId = CategoriesList.SelectedIndex;
    int DDLBraId = BrandsList.SelectedIndex;
    IQueryable<Product> DDLprodResult = GetProductsDDL(DDLcatId, DDLBraId);
    if(DDLprodResult == null)
    {
    }
    else
    {
       CatLab.Text = DDLprodResult.ToList().Count().ToString();
       productList.DataSource = DDLprodResult.ToList();
       productList.DataBind();
    }
 }

我如何在两个下拉列表上抓取选定的索引OnSelectedIndexChanged

您的代码应该可以工作。当然,如果您在两者上都设置了AutoPostBack="true"(默认为false),则只能更改其中一个。但无论如何,您应该在处理程序中获得正确的SelectedIndex

所以我猜:你在每次回发时都绑定了DropDownLists。只在if(!IsPostBack)中这样做,否则您总是用原始值覆盖更改。

例如Page_Load:

protected void Page_Load(Object sender, EvengtArgs e)
{
    if(!IsPostBack)
    {
        // DataBind your DropDownLists
    }
}