0

我想知道为什么当我通过 jQuery 禁用 asp.net 控件时,它在 Code behind 中无法识别。例如,我通过以下方式禁用了 TextBox:

$('#txtNumber').attr('disabled', true);

它在 client-sdide 中禁用得很好,但在后面的代码中无法识别,并且它具有 Enabled = true 。

我不知道如何解决这个问题。

编辑:我知道如何通过 jquery 禁用控件,但事实并非如此,我的问题是为什么当我在客户端禁用它时,它背后的代码仍然具有真正的启用性?

4

1 回答 1

1

服务器端控件的状态(启用/禁用)在回发发生时取自视图状态。禁用客户端输入元素将意味着在提交表单时输入的任何值都不会作为回发的一部分由浏览器发送。

因此,对于输入元素,禁用意味着“不要在回发中发送”。在客户端更改它不会导致视图状态相应更新。如果您在服务器端更改它,视图状态将包含它被禁用的信息,然后将在网络回发中持久保存

于 2012-06-25T11:59:32.863 回答