Asp.net 如何禁用列表框';s点击事件

Asp.net 如何禁用列表框';s点击事件,asp.net,javascript,listbox,Asp.net,Javascript,Listbox,我有一个列表框,它充当项目列表。如果单击某个项目,其内容将显示在右侧的面板中(少数文本框等)。 我需要对这些控件进行验证,因为它们都是必填字段。我确实有。问题是,即使验证器无效,用户也可以单击列表框并更改活动索引(这不会对右侧面板产生影响,因为SelectedIndexChanged不会触发)。 验证器是标准RequiredFieldValidator,其显示属性设置为“动态”。因此,我想要的是禁止用户单击列表框并更改索引,直到所有验证器都有效。 你的解决方案是什么?这可能吗?当您实际触发Sel

我有一个列表框,它充当项目列表。如果单击某个项目,其内容将显示在右侧的面板中(少数文本框等)。
我需要对这些控件进行验证,因为它们都是必填字段。我确实有。问题是,即使验证器无效,用户也可以单击列表框并更改活动索引(这不会对右侧面板产生影响,因为SelectedIndexChanged不会触发)。
验证器是标准RequiredFieldValidator,其显示属性设置为“动态”。因此,我想要的是禁止用户单击列表框并更改索引,直到所有验证器都有效。
你的解决方案是什么?这可能吗?

当您实际触发SelectedIndexChanged时,是否尝试设置ListBox.Enabled=false,并在所需字段满足页面时重新启用。是否继续执行代码的有效要求?

确定,我正在禁用SelectedIndexChanged。但是由于验证器是动态的,服务器端将不知道它是有效的,并且可以启用listbox,对吗。。。?是的,我已经检查过了。如果验证器是有效的,那么你应该运行正常的页面事件,这意味着你会点击页面加载。。。在页面加载时,您可以检查(IsPostback)是否listbox.enabled=false,listbox.enabled=true