Asp.net 验证程序:当禁用客户端时,它们是否在回发时保持禁用状态?

Asp.net 验证程序:当禁用客户端时,它们是否在回发时保持禁用状态?,asp.net,validation,client-side-validation,Asp.net,Validation,Client Side Validation,我已经学习了很多关于标准asp.net验证程序的知识,我的最新发现是关于如何禁用验证程序客户端,这非常酷 现在,如果我的初始帖子启用了验证器,但是客户端禁用了它,那么服务器端会识别客户端的更改并保留它,还是在页面发送回用户时重新启用了它 谢谢 Nate如何在客户端禁用它们?我可以想象,除非在客户端禁用它们的行为进行回发,否则viewstate将保持不变,因此它们将在下一页刷新时重新启用(这里只是进行理论推导) 你自己试试,如果不行,您可以添加一个隐藏字段,当您禁用验证程序时,您也可以在客户端上设

我已经学习了很多关于标准asp.net验证程序的知识,我的最新发现是关于如何禁用验证程序客户端,这非常酷

现在,如果我的初始帖子启用了验证器,但是客户端禁用了它,那么服务器端会识别客户端的更改并保留它,还是在页面发送回用户时重新启用了它

谢谢


Nate

如何在客户端禁用它们?我可以想象,除非在客户端禁用它们的行为进行回发,否则viewstate将保持不变,因此它们将在下一页刷新时重新启用(这里只是进行理论推导)


你自己试试,如果不行,您可以添加一个隐藏字段,当您禁用验证程序时,您也可以在客户端上设置该字段,然后在回发期间在服务器端检查该字段,以了解是否在服务器端启用/禁用它们。

.NET服务器端验证程序控件将在回发期间重置为服务器端代码中设置为最新的控件发回

例如,如果您在其.aspx标记中将必需的字段验证器设置为rqvControl.enabled=true,那么在回发之后,无论其状态是客户端,它都将被启用


如果要在客户端设置验证器的状态,并且希望将其持久化,则需要设置一个值,以便在回发期间在服务器代码中读取该值。这可以非常简单,只需从执行启用/禁用操作的javascript中设置一个隐藏字段值。在codebehind中,只需根据隐藏字段中的值处理验证器的启用状态。

我正在使用WebUIValidation.js脚本ValidatorEnable中包含的方法,我可能会着手处理它,但我认为这将是输入这些已知信息的好地方。