我一直在阅读有关ASP.NET Validation的内容,并在SO How do I get Client-side validation of ASP.Net page to run?上找到了一个相关问题,但似乎没有解决为什么有些此类验证会发布到浏览器中。
显然,出了点问题。显示以下文本:
var Page_ValidationActive = false; if(typeof(ValidatorOnLoad)==“function”){ValidatorOnLoad(); function ValidatorOnSubmit(){if(Page_ValidationActive){return ValidatorCommonOnSubmit(); } else {return true; }} //]]>
最后一点看起来像CDATA结束标记,我唯一的CDATA标记是从谷歌或Facebook等社交媒体网站链接的。
有谁可以告诉我是什么原因造成的?
我可能有另一个设置告诉客户端将输出转储到浏览器,就像我在this post.中那样
答案 0 :(得分:1)
其中的代码中包含CDATA
部分。如果您复制它,您的代码也会如此。
我通过在脚本上方移动CDATA
部分来实验并得到相同的结果,如下所示:
<![CDATA[
<script type="text/javascript">
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
//]]>
</script>
在这种情况下,CDATA
标记应移至script
标记下方。或者,只需完全删除CDATA
标记。
答案 1 :(得分:1)
我不明白为什么脚本显示在网页上,但错误是由于我的某个验证控件被错误地从组中排除而引起的。
一旦我在验证组中包含了所有验证控件,错误就会消失。
如果有人知道为什么错误被回显到浏览器,请告诉我,以便我可以从我的网站上禁用此“功能”。