Asp.Net ListBox和JQuery

我们有一个页面,其中包含一个禁用的ListBox(在代码隐藏中)。 通过选中页面上的复选框可以启用此ListBox; 它使用JQuery重新启用javascript。

因此,问题是当控件首先被禁用然后在页面上重新启用时,即使选择了一个,它也没有选定的项目。

如果在代码隐藏中从未禁用ListBox,则相同的代码可以正常工作。

有没有办法使用JQuery重新启用ListBox,所以选定的值将被发布到服务器?


这是一个使用VS 2005而没有.NET MVC的.net 2.0项目

您需要提出一个解决方案,其中ListBox始终在服务器端启用并且可见。 所以只有一个jQuery解决方案来禁用select 。 我会添加一个隐藏字段,让它存储一个开关,以确定是否应该启用select 。 这将允许您的jQuery代码向服务器报告在回发时是否启用了控件。

您显然必须编写jQuery代码来绑定隐藏字段并一起选择并管理禁用/启用状态。

编辑:现在我考虑一下。 您可以从Request.Form集合中获取select的值,并在Page_Init期间将值分配给ListBox 。 您将丢失任何ListBox.*Changed事件。

解决此问题的方法可能是通过Request.Form [listbox.ClientID]获取回发值。 它不像使用ViewState那样“好”,但应该可以工作。