我如何在两个下拉列表上抓取选定的索引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();
}
}
您的代码应该可以工作。当然,如果您在两者上都设置了AutoPostBack="true"
(默认为false),则只能更改其中一个。但无论如何,您应该在处理程序中获得正确的SelectedIndex
。
所以我猜:你在每次回发时都绑定了DropDownLists
。只在if(!IsPostBack)
中这样做,否则您总是用原始值覆盖更改。
例如Page_Load
:
protected void Page_Load(Object sender, EvengtArgs e)
{
if(!IsPostBack)
{
// DataBind your DropDownLists
}
}