加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.net RequiredFieldValidator不阻止回发

发布时间:2020-12-15 18:34:09 所属栏目:asp.Net 来源:网络整理
导读:我有一个问题,可能会阻止RequiredFieldValidator阻止回发。 我开始使用旧的但简单的aspx表单,而我的前任使用手动的服务器端表单验证(检查一些表单域是否具有值,如果在标签中未显示错误消息)。我以为我会清理一些不需要的代码,并用RequiredFieldValidator
我有一个问题,可能会阻止RequiredFieldValidator阻止回发。

我开始使用旧的但简单的aspx表单,而我的前任使用手动的服务器端表单验证(检查一些表单域是否具有值,如果在标签中未显示错误消息)。我以为我会清理一些不需要的代码,并用RequiredFieldValidator控件替换手动检查,但是当它们似乎正在验证时,它们不会阻止回发。也就是我的错误消息显示,但回发仍然发生。

形式很简单,没有CausesValidation =“false”属性设置。我的控件看起来像:

<asp:TextBox ID="txtPhone" Runat="server" Columns="20" MaxLength="20" />
 <asp:RequiredFieldValidator ID="rfvPhone" runat="server" Display="Dynamic"
      ErrorMessage="* Required" ControlToValidate="txtPhone" />

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

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

解决方法

呼。好的,我发现问题,基本上是创建一个全新的项目,并将其web.config逐行与我的旧项目进行比较。原来是罪魁祸首是这样的:
<xhtmlConformance mode="Legacy"/>

如果我删除该行,我的验证工作方式我预计。谷歌搜索发现一堆博客帖子,关于VisualStudio如何将该行从.net 1.1升级到.net 3.5时,将该行添加到web.config中。

博客主要是抱怨这个字段干扰了.net的AJAX的东西,但是我猜测它会以类似的方式混淆为RequiredFieldValidator发出的JavaScript。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读