【问题标题】:Dropdownlist based on dropdownlist C# Asp.Net基于 dropdownlist C# Asp.Net 的下拉列表
【发布时间】:2019-10-07 03:12:00
【问题描述】:

我有 3 个下拉列表,并且我已经根据下拉列表 1 的 SelectedValue 设置下拉列表 2,但是我的下拉列表 3 没有基于下拉列表 2 中的选择的响应

if(DropDownList1.SelectedValue =="1")
{
    DropDownList2.Items.Clear();
    DropDownList2.Items.Insert(0, new ListItem("A", ""));
    DropDownList2.Items.Insert(1, new ListItem("B", ""));
}

这就是我根据Dropdownlist1 中的选择在Dropdownlist2 中添加项目的方式,但它在第三个下拉列表中不起作用,在我在Dropdownlist2 中选择A 后没有任何项目:

if (DropDownList2.SelectedValue == "0")
{
    DropDownList3.Items.Clear();
    DropDownList3.Items.Insert(0, new ListItem("A-1", ""));
}

【问题讨论】:

  • 你能调试代码吗?是否执行填充 DropDownList3 的代码?这两个代码什么时候执行?
  • 应该是selectedIndex 而不是selectedvalue 对吧?添加了答案和解释
  • @ChetanRanpariya 唯一的问题是下拉列表 3 在我在下拉列表 2 中选择某些内容后没有任何项目
  • 如果你调试代码,你可以弄清楚为什么它没有在 DropDownList3 中添加任何项目。 @HollowLooi

标签: c# asp.net drop-down-menu cascadingdropdown


【解决方案1】:

我认为你把selectedvalue 弄错了,我认为应该是selectedindex

if (DropDownList2.SelectedIndex == 0)
{
    DropDownList3.Items.Clear();
    DropDownList3.Items.Insert(0, new ListItem("A-1", ""));
}

如果您仍想使用selectedvalue,请将new ListItem("A", "") 的绑定更改为new ListItem("A", "");

//populate first ddl with corret item and value
if(DropDownList1.SelectedValue =="1")
{
            DropDownList2.Items.Clear();
            DropDownList2.Items.Insert(0, new ListItem("A", ""));
            DropDownList2.Items.Insert(1, new ListItem("B", ""));
}

if (DropDownList2.SelectedValue == "A")
{
    DropDownList3.Items.Clear();
    DropDownList3.Items.Insert(0, new ListItem("A-1", ""));
}

DropdownList.Items.Insert 实现ddl.Items.Insert(indexPosition, new ListItem("displayItem", "value");

因此,由于您在 selectedvalue 中搜索“0”,在您的示例中不存在,因为 new ListItem("A", "") 它不会执行里面的语句

【讨论】:

  • 我改为索引,但第三个下拉列表对我来说仍然显示空白
  • @HollowLooi 你能展示你的实现下拉列表的代码吗?
  • 你是指整个函数还是?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多