使用updatepanel时,自定义Page_ClientValidate覆盖

时间:2011-12-11 10:34:03

标签: javascript asp.net validation

我有一个使用UpdatePanel和验证的网页。

由于其中指定了需求,我必须在验证失败时显示自定义模型,到目前为止,我只能通过覆盖Page_ClientValidate客户端函数来完成此操作:

function Page_ClientValidate(validationGroup) {
    Page_InvalidControlToBeFocused = null;
    if (typeof(Page_Validators) == "undefined") {
        return true;
    }
    var i;
    for (i = 0; i < Page_Validators.length; i++) {
        ValidatorValidate(Page_Validators[i], validationGroup, null);
    }
    ValidatorUpdateIsValid();
    ValidationSummaryOnSubmit(validationGroup);
    Page_BlockSubmit = !Page_IsValid;
    if(!Page_IsValid)
    {
        displayError();
    }
    return Page_IsValid;
}

这很好用,但我注意到在UpdatePanel中使用它时,一旦UpdatePanel生成新内容,似乎再次下载包含原始Page_ClientValidate的ScriptResource.axd,从而覆盖我的覆盖(如果没有任何意义。)

现在,它会显示字段旁边的错误,但不会调用我的displayError函数。

有什么建议吗?

我想过可能会写一些东西来监控错误范围,看看它们是否可见,但不确定此刻是否过度。

由于

加文

1 个答案:

答案 0 :(得分:1)

您使用的是$(文件).ready(...)吗? 如果是这样,请尝试使用客户端的pageLoad() http://encosia.com/document-ready-and-pageload-are-not-the-same/