【问题标题】:limit selections in a listbox in vb.net在 vb.net 的列表框中限制选择
【发布时间】:2009-02-12 15:45:54
【问题描述】:

我正在 vb.net 中创建一个包含列表框的 Web 控件。我知道我可以选择单一或多重选择模式,但我有兴趣将多重选择限制为预定大小。例如,阻止用户选择超过 3 个项目。

我已经尝试在列表框中添加一个验证器,这可能是一种前进的方式,但我想知道是否有一种方法可以将选择模式更改为与仅指定的两个不同的模式。

任何想法或建议将不胜感激

编辑:不幸的是,由于项目限制,我无法在这个问题上使用 Javascript。我知道很烦人!

【问题讨论】:

    标签: vb.net listbox selection web-controls


    【解决方案1】:

    您可以尝试处理 SelectedIndexChange 事件之一。通过多项选择,每次触发此事件时,您都可以检查已经选择了多少项目。如果超出您的要求,请让处理程序取消选择刚刚选择的那个。您还可以在列表框下方放置一个红色小标签,上面写着“抱歉,最多只能选择 [n] 个选项。”

    编辑: 刚刚注意到你说的是WEB。同样的理论也适用,但必须使用 Javascript 来完成。

    【讨论】:

    • 谢谢。唯一的问题是由于(烦人的)项目限制,我无法在这个问题上使用 Javascript。
    • 在这种情况下,您也许可以使用 Autopostback,但我不确定这是否适用于多项选择。 AJAX 是一种选择吗?这也可以。
    • @Dave:我不明白为什么它在网络上会有很大不同。如果列表框设置为 AutoPostBack 设置为 true,则每次进行选择时都会触发它。然后您可以在回发期间运行验证代码(或在 AJAX 中进行部分回发)。
    【解决方案2】:

    在 SelectedIndexChanged 事件中,编写一小段代码来检查所选项目的数量,如果它大于您所需的数量,则取消选择新的选择(或取消选择最旧的选择,或者您希望这样操作) )。

    【讨论】:

      猜你喜欢
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2017-07-20
      • 2019-01-18
      • 2011-01-04
      相关资源
      最近更新 更多