3

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

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

谢谢!

内特

4

2 回答 2

5

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

因此,例如,如果您在其 .aspx 标记中将必填字段验证器设置为 rqvControl.enabled = true,则在回发后,无论其客户端状态如何,都将启用它。

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

于 2009-01-16T02:32:55.313 回答
0

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

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

于 2009-01-15T21:12:53.917 回答