【问题标题】:asp.net: How can I remove an item from a dropdownlist?asp.net:如何从下拉列表中删除项目?
【发布时间】:2011-03-07 16:37:08
【问题描述】:

我有一个下拉列表,在某些情况下需要删除一个项目(在代码隐藏中)。我需要根据物品的价值来移除物品。

我该怎么做?

【问题讨论】:

  • 你想在 c# 或 javascript 中删除。

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


【解决方案1】:

你可以用这个:

myDropDown.Items.Remove(myDropDown.Items.FindByValue("TextToFind"));

【讨论】:

    【解决方案2】:

    代码:

    ListItem removeItem= myDropDown.Items.FindByValue("TextToFind");
    drpCategory.Items.Remove(removeItem);
    

    将“TextToFind”替换为您要删除的项目。

    【讨论】:

    • 如果我想隐藏多个值怎么办?
    • 遍历每一个并一次删除一个。
    • 谢谢psychoduck ..我做了同样的事情,它的工作
    【解决方案3】:
    myDropDown.Items.Remove(myDropDown.Items.FindByText("TextToFind"))
    

    【讨论】:

      【解决方案4】:

      你可以使用

      myDropDown.Items.Remove(ListItem li);
      

      myDropDown.Items.RemoveAt(int index);
      

      使用 C# 将其删除。

      【讨论】:

        【解决方案5】:

        还有一种更简单的删除值的方法。

        mydropdownid.Items.Remove("Chicago"); 
        <dropdown id=mydropdown .....>
        

        价值观

        • 佛罗里达
        • 德州
        • 犹他州
        • 芝加哥

        【讨论】:

        • 这种方法在一个下拉列表中对我有用,但在另一个下拉列表中我必须使用 FindByText。以防万一其他人遇到麻烦。
        • 是的,文档说这个重载应该可以工作,但有时它只是不工作,我不知道为什么。
        【解决方案6】:

        正如其他人已经回答的那样,您需要这样做;

        myDropDown.Items.Remove(ListItem li);
        

        但如果您希望页面异步刷新,下拉菜单需要在 asp:UpdatePanel

        在您拨打Remove之后,您需要拨打:

        yourPanel.Update();
        

        【讨论】:

          【解决方案7】:

          myDropDown.Items.Remove(myDropDown.Items.FindByText("Chicago"));

          【讨论】:

          • 虽然您的答案适用于该问题(并且可能是一个解决方案),但它并没有增加任何新内容。特别是,它是这个答案的 100% 重复:stackoverflow.com/a/15916022/4634527
          【解决方案8】:

          我已经这样做了,我已经删除了除了值 1 和 3 之外的所有项目。

          ListItemCollection liCol = ddlcustomertype.Items;
          for (int i = 0; i < liCol.Count;i++ )
          {
              ListItem li = liCol[i];
              if (li.Value != "1" || li.Value != "3")
                  ddlcustomertype.Items.Remove(li);
          }
          

          【讨论】:

            【解决方案9】:

            试试这个代码。

            如果您可以在下拉菜单中添加任何项目并设置值,请尝试一下。

             dropdown1.Items.Insert(0, new ListItem("---All---", "0"));
            

            您可以在下拉菜单中删除项目然后尝试。

             ListItem removeItem = dropdown1.Items.FindByText("--Please Select--");
             dropdown1.Items.Remove(removeItem);
            

            【讨论】:

              【解决方案10】:

              我会在 Dropbox 中添加一个识别 ID 或类,然后使用 Javascript 将其删除。

              here 的文章应该会有所帮助。

              D

              【讨论】:

                【解决方案11】:

                插入到 DropDownList:

                DropDownList.Items.Insert(0, new ListItem("-- Select item --", "0"));
                

                并从 DropDownList 中删除项目:

                DropDownList.Items.Remove(new ListItem("-- Select item --", "0"));
                

                【讨论】:

                • 您确定删除会起作用吗,因为它将是与Items 集合中已有的对象引用不同的对象引用?
                • 除此之外,这个答案并没有真正增加例如尚未涵盖的内容。 @Darshan's answer from two years ago.
                猜你喜欢
                • 2021-07-06
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-03-13
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多