当前位置:  开发笔记 > 编程语言 > 正文

ASP.net RequiredFieldValidator不阻止回发

如何解决《ASP.netRequiredFieldValidator不阻止回发》经验,为你挑选了2个好方法。

我有一个问题,关于什么可以阻止RequiredFieldValidator阻止回发.

我开始研究一个较旧的,但是简单的aspx表单,我的前任使用手动,服务器端表单验证(检查一些表单字段是否有值,如果没有在标签中显示错误消息).我以为我会清除一些不需要的代码并用RequiredFieldValidator控件替换手动检查,但是虽然它们似乎在验证,但它们并没有阻止回发.即,我显示我的错误消息但仍然发生回发.

表单非常简单,并且没有设置CausesValidation ="false"属性.我的控件看起来像:

 
 

我在同一个项目中创建了一个全新的webform,只有一个文本框,验证器和提交按钮,它的行为方式相同.显示错误消息但仍会发生回发.

是否存在导致此行为的全局或项目范围设置?web.config或global.asax中有什么东西?



1> Dana..:

呼.好的,我发现了这个问题,基本上是通过创建一个全新的项目并将其web.config与我的旧项目进行逐行比较.原来是罪魁祸首是这样的:

 

如果我删除该行,我的验证将按照我预期的方式工作.谷歌上发现了一些博客文章,关于当将.net 1.1的网络应用程序升级到.net 3.5时,VisualStudio如何将该行添加到web.config中.

博客文章主要是抱怨该字段如何干扰.net的AJAX内容,但我猜测它以类似的方式为RequiredFieldValidator发出的JavaScript混乱.



2> womp..:

验证可以在客户端上(如果可用)或在服务器上进行.验证器的工作不是阻止回发,而是验证输入.

确保您启用了javascript,并尝试将"EnableClientScript"显式设置为true.

在代码隐藏中,您永远不应该相信验证器在客户端上进行验证,并始终使用"if Page.IsValid".

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有