2

我的页面中有一个validationSummary。我想在validationSummary 填充后调用一个javascript 函数。我怎样才能做到这一点?

我想我应该在后面的代码中添加一个属性,但我不知道该属性的键是什么。

有什么帮助吗?

4

3 回答 3

4

您将需要调用 javascript 函数Page_ClientValidate()来启动连接到您的页面控件的 ASP.NET 验证。一旦调用它,Page_IsValid布尔值将被正确设置。

这是我如何使用它的示例。如果 ASP.NET 验证成功,我禁用该按钮,否则该按钮保持启用状态并向用户显示验证摘要。来自OnClientClickASP:Button 控件。

OnClientClick="javascript:Page_ClientValidate(); if (Page_IsValid==true) { this.disabled=true; }"
于 2010-07-29T19:22:27.147 回答
0

我不认为这是可能的。但是,可以通过设置OnClientClick执行回发的控件来拦截验证。然后,您可以检查全局 JavaScript 变量Page_IsValid以获取验证结果。

要记住的一件事是,当页面上没有验证器时,Page_IsValid它将是未定义的。

于 2010-06-17T15:20:30.650 回答
0

我开始通过@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
    }
}
于 2013-11-14T17:06:13.767 回答