ASP.net服务器端ListBox控件 - 在禁用控件时获取值

时间:2011-12-26 16:25:00

标签: asp.net

在我们的项目中,我们使用ASP.net服务器端控件(不是我的想法) 我们有一些客户端代码可能会禁用其中一些控件 但是,我无法检索已禁用的SelectedValue列表框:

如果在客户端禁用ListboxA,则在回发时,ListboxA.SelectedValue为空(即使 是选定值)。如果未禁用列表框,则会正确返回所选值 我通过简单地在回发之前启用所有控件找到了解决方法,但那是......有点愚蠢。谁有更好的主意?

PS:示例场景:如果用户在“用户类型”列表框中选择“管理员”,则“权限”列表框的值设置为“全部”,并被禁用,以便管理员只能使用所有权限创建。

1 个答案:

答案 0 :(得分:1)

禁用控件后,客户端不会将值发回服务器,因此您无法以该方式检索值。当我们不需要时,这会比客户端为禁用控件发送数据更好,因此解决方法不是“愚蠢的”。

但是,您有两个(可能更多)解决方法:

  1. 在回发之前重新启用控件。
  2. 将值保存在隐藏字段中。