Asp.net Net列表框和JQuery
我们有一个页面,其中包含一个禁用的列表框(在codebehind中)。通过选中页面上的复选框,可以启用此列表框;它使用JQuery通过javascript重新启用 因此,问题在于,当控件在页面上首先禁用然后重新启用时,即使选择了一个项目,它也没有选定的项目 如果列表框从未在codebehind中被禁用,那么同样的代码也可以正常工作 是否有任何方法可以使用JQuery重新启用ListBox,以便将选定的值发布到服务器Asp.net Net列表框和JQuery,asp.net,jquery,listbox,Asp.net,Jquery,Listbox,我们有一个页面,其中包含一个禁用的列表框(在codebehind中)。通过选中页面上的复选框,可以启用此列表框;它使用JQuery通过javascript重新启用 因此,问题在于,当控件在页面上首先禁用然后重新启用时,即使选择了一个项目,它也没有选定的项目 如果列表框从未在codebehind中被禁用,那么同样的代码也可以正常工作 是否有任何方法可以使用JQuery重新启用ListBox,以便将选定的值发布到服务器 这是一个使用VS 2005的.net 2.0项目,没有.net MVC。您需要
这是一个使用VS 2005的.net 2.0项目,没有.net MVC。您需要提出一个解决方案,其中列表框始终处于服务器端启用状态且可见。因此,只有jQuery才能禁用
select
。我会添加一个隐藏字段,让它存储一个开关,以决定是否应该启用select
。这将允许jQuery代码向服务器报告在回发时是否启用了控件
显然,您必须编写jQuery代码来绑定隐藏字段,并一起选择并管理禁用/启用状态
编辑:现在我想起来了。您可以从
请求.Form
集合中获取select的值,并在页面初始化期间将该值分配给您的列表框
。您将丢失任何列表框。*更改的事件。解决方法可能是通过Request.Form[ListBox.ClientID]在回发时获取值。它不像使用ViewState那么“好”,但它应该可以工作。我想到了这一点,我们有办法知道它应该被启用还是被禁用(复选框状态),但唯一的问题是这一切都在更新面板中,所以很难在文档就绪时禁用,因为它总是被重写。啊哈,恐怕我不熟悉UpdatePanel。但我编辑添加了另一种方法