我将项目从.Net 2.0迁移到.Net 4.5.1。
我使用以下代码进行验证。
<asp:CustomValidator runat="server" ClientValidationFunction="validateTextBox1"></asp:CustomValidator>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
<script>
$(window).load(function () {
alert(typeof (Page_ValidationSummaries));
});
function validateTextBox1(src, args) {
if (typeof (Page_ValidationSummaries) == "undefined")
args.IsValid = false;
else
args.IsValid = true;
}
<script>
.Net 2.0 typeof(Page_ValidationSummaries)
是"undefined"
。但是在.Net 4.5.1中typeof(Page_ValidationSummaries)
是一个长度为0的对象。因此验证不会发生。
如果我们在.Net2.0中运行此代码,则警告显示为undefined。但在.Net4.5.1中它显示为对象。为什么它基于.net框架而有所不同?
如何解决这个问题?