asp.net列表框取消选择项

asp.net列表框取消选择项,asp.net,listbox,Asp.net,Listbox,我正在使用一个asp:ListBox,我知道要取消选择项目,用户需要在单击所选项目时按住control键。有没有一种方法可以使点击所选项目时不必按住control键就可以取消选中它?我认为asp.net的列表框无法做到这一点(我认为winform的列表框可以做到),但您可以将SelectionMode设置为Multiple,并编写javascript以实现所需的行为。您可以,但在asp.net中不行。您需要更改客户端HTML,这意味着您需要使用Javascript对其进行编码,以更改默认行为或选

我正在使用一个
asp:ListBox
,我知道要取消选择项目,用户需要在单击所选项目时按住control键。有没有一种方法可以使点击所选项目时不必按住control键就可以取消选中它?

我认为asp.net的列表框无法做到这一点(我认为winform的列表框可以做到),但您可以将SelectionMode设置为Multiple,并编写javascript以实现所需的行为。

您可以,但在asp.net中不行。您需要更改客户端HTML,这意味着您需要使用Javascript对其进行编码,以更改默认行为或选择框。比如:

<script>
function MyHandle(oSelect)
{
   (change behaviuor here, using object oSelect)
   return false;
}
</script>
<SELECT onclick="MyHandle(this)">
...
</SELECT>

函数MyHandle(oSelect)
{
(使用对象oSelect在此处更改行为)
返回false;
}
...
但是。。。我真的反对它。要实现您想要的,您的“MyHandle”函数必须模拟正常表单所做的一切:选择、取消选择、范围选择(使用shift)、不影响其他选择的单个选择(控制键)等等


正如Jakob所建议的,切换到复选框更容易。

许多用户对列表框中的多选感到困惑。如果你的图形设计可以容纳它,我真的建议你用复选框代替。