我的页面中有一个validationSummary。我想在validationSummary 填充后调用一个javascript 函数。我怎样才能做到这一点?
我想我应该在后面的代码中添加一个属性,但我不知道该属性的键是什么。
有什么帮助吗?
我的页面中有一个validationSummary。我想在validationSummary 填充后调用一个javascript 函数。我怎样才能做到这一点?
我想我应该在后面的代码中添加一个属性,但我不知道该属性的键是什么。
有什么帮助吗?
您将需要调用 javascript 函数Page_ClientValidate()
来启动连接到您的页面控件的 ASP.NET 验证。一旦调用它,Page_IsValid
布尔值将被正确设置。
这是我如何使用它的示例。如果 ASP.NET 验证成功,我禁用该按钮,否则该按钮保持启用状态并向用户显示验证摘要。来自OnClientClick
ASP:Button 控件。
OnClientClick="javascript:Page_ClientValidate(); if (Page_IsValid==true) { this.disabled=true; }"
我不认为这是可能的。但是,可以通过设置OnClientClick
执行回发的控件来拦截验证。然后,您可以检查全局 JavaScript 变量Page_IsValid
以获取验证结果。
要记住的一件事是,当页面上没有验证器时,Page_IsValid
它将是未定义的。
我开始通过@EverettEvola 实现该解决方案,但同时验证逻辑被多次调用并显示多个ValidationSummary 弹出窗口。我的解决方案如下:
在按钮上(在我的情况下,按钮是提交按钮)
OnClientClick="return CustomValidationOnClick()"
和 CustomValidationOnClick()
function CustomValidationOnClick(source, args) {
//Manually kickoff page validation
//This call will display the Validation summary popup if page is invalid
Page_ClientValidate();
//Page_IsValid set by the result of the Page_ClientValidate() call
if (Page_IsValid == true) {
this.disabled=true;
return true; //if Submit button return true to continue form submit
}
else {
//do whatever here
return false; //if Submit button return false to cancel form submit
}
}