验证者:当禁用客户端时,他们是否在回发时保持禁用状态?

时间:2009-01-15 20:57:57

标签: asp.net validation client-side-validation

我一直在学习很多标准的asp.net Validators,而我最近的发现是关于如何禁用验证器客户端,这很酷。

现在,如果我的初始帖子已启用验证器,但客户端,我禁用它,服务器端是否识别客户端更改,并保留它,或者是否重新启用该页面将被发送回用户?

谢谢!

内特

2 个答案:

答案 0 :(得分:5)

.NET服务器端验证器控件将重置为在回发期间在服务器端代码中设置为最后的任何内容。

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

如果要在客户端设置验证器的状态,并且要保留它,则需要设置一个值,该值可以在回发期间在服务器代码中读取。这可以像从正在执行启用/禁用操作的javascript中设置隐藏字段值一样简单。在您的代码隐藏中,只需根据隐藏字段中的值处理验证程序的启用状态。

答案 1 :(得分:0)

如何在客户端禁用它们?我想,除非在客户端上禁用它们的行为做回发,视图状态将保持不变,因此它们将在下一页刷新时重新启用(仅在此处理论化)。

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