在VB.NET中限制列表框中的选择。

3
我正在使用vb.net创建一个包含列表框的 Web 控件。我知道可以选择单个或多个选择模式,但我想限制多个选择到预定大小。例如,防止用户选择超过3个项目。
我尝试向列表框添加验证器,这可能是一种前进的方式,但我想知道是否有一种方法可以将选择模式更改为与仅指定的两种不同的内容。
任何想法或建议将不胜感激。
编辑:不幸的是,由于项目限制,我无法在此问题上使用 JavaScript。非常烦人,我知道!
2个回答

2

您可以尝试处理其中一个SelectedIndexChange事件。在多选情况下,每次触发此事件时,您可以检查已选择的项目数。如果超过您想要的数量,则处理程序将取消刚刚选择的项目。您还可以在列表框下方放置一个小红色标签,显示“对不起,最多允许[n]个选择。”

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


谢谢您的回复。唯一的问题是由于(令人烦恼的)项目限制,我无法在此问题上使用JavaScript。 - chillysapien
在这种情况下,你可能能够使用自动回传(Autopostback),但我不确定它是否适用于多选。AJAX是一个选择吗?那也可以工作。 - Dave Swersky
@Dave:我不认为在Web上会有太大的区别。如果ListBox设置了AutoPostBack为true,那么每次进行选择时它都应该触发。然后您可以在PostBack(或AJAX中的部分PostBack)期间运行验证代码。 - TheTXI

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接