在后面的代码中无法识别由jquery启用的更改控件

时间:2012-06-25 11:35:25

标签: jquery asp.net viewstate

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

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

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

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

编辑:我知道如何通过jquery禁用控件,不是这种情况,我的问题是为什么当我在客户端禁用它时,仍然在它背后的代码中具有真正的可靠性?

1 个答案:

答案 0 :(得分:1)

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

因此,对于禁用的输入元素,意味着“不要在回发中发送”。在客户端更改它不会导致视图状态相应更新。如果您在服务器端更改它,则视图状态将具有禁用的信息,然后它将在回发之间保留