【问题标题】:How do we check whether any item in the listbox is selected in ASP.NET 2.0?在 ASP.NET 2.0 中,我们如何检查列表框中的任何项目是否被选中?
【发布时间】:2010-12-28 06:57:12
【问题描述】:

如果我想知道是否检查了任何项目,我必须执行一个 for 循环并检查是否检查了任何项目。

在 C# 中,有类似的东西

listbox.SelectedItems.Count();

ASP.NET 有没有类似的方法?

【问题讨论】:

    标签: c# asp.net .net-2.0


    【解决方案1】:

    您可以通过以下代码查看是否选择了任何项目:

    if (listboxname.SelectedIndex == -1)
           MessageBox.Show("Please select an Item first!");
    

    【讨论】:

    • 这确实告诉你是否有任何东西。我们可以用它作为支票。如果有,那么并且只有在那时,循环遍历它们。这将节省一些处理时间。
    • 如果用户只选择列表中的第一项,这将不起作用。
    【解决方案2】:

    看起来你需要循环遍历它们。

    【讨论】:

    • 检查 selectedindex 怎么样?如果小于 0,则不选择。否则至少选择一项。但我想知道这是否可靠..
    • 是的,你可能是对的。它不会完成 OP 想要完成的任务。但它可用于快速确定是否未选择任何内容,并且在这种情况下更快。
    【解决方案3】:

    根据 MSDN 和我的经验,您必须检查所有项目,才能做到这一点:

    您可以确定所选项目 在 ListBox 控件中通过枚举 项目收集和测试 每个 ListItem 的选定值 元素。

    【讨论】:

      【解决方案4】:

      虽然这在 2.0 中可能不可用...但另一种选择是使用 LINQ 查询 Items 集合。请参阅this link 了解相关信息

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,我可能已经为您找到了解决方案。我不知道它有多有效。但这里是:

        if (listbox.SelectedIndex <= -1)
        {
            listbox.SelectedIndex = 0;
        }
        if (listbox.SelectedIndex > -1)
        {
            //do something
        }
        

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题,我可能已经为您找到了解决方案。我不知道它有多有效。但这里是:

                  if (listData.SelectedIndex>=0)
                  {               
                          listData.Items.Remove(listData.SelectedItem.ToString());                
                  }
                  else
                  {
                      MessageBox.Show("plz select data first");
                  }
          

          【讨论】:

          • 答案与问题不符。
          • 答案与问题不符。
          猜你喜欢
          • 1970-01-01
          • 2011-12-22
          • 2011-01-28
          • 2015-10-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多