我可以使用ASP.Net验证程序自定义控件。

writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "javascript:return DoSmth();");

function DoSmth() {
var cBox = confirm("Are you sure?");
if (!cBox) {
    return false;
}
else {
//Invoke validation
}


当我按下“提交”按钮时,我将调用确认框。如果按取消-好的。但是,如果按“确定”,则需要进行验证。如何停止回发并进行化身?

最佳答案

调用客户端Page_ClientValidate(validationGroup)。如果页面有效,则返回true

function DoSmth() {
    var cBox = confirm("Are you sure?");
    if (!cBox) {
        return false;
    }
    else {
        return Page_ClientValidate(validationGroup);
    }
}


编辑(评论的答案):

validationGroup这是一个字符串变量,没有必要将其传递给DoSmth函数(诚实地,答案应该是:取决于)。

如果在.js文件中定义了此函数,则可以,应将validationGroup作为参数传递。

如果它是页面/控件的一部分,则使用起来会更容易。服务器端结构在这里:

return Page_ClientValidate('<%= btnSubmit.ValidationGroup %>');


其中btnSubmit是一个导致验证的按钮,或仅使用字符串变量。

10-04 22:38