在kendo.confirm确认之前,如何防止提交Ajax表单?

时间:2019-02-15 16:12:49

标签: c# asp.net-mvc kendo-ui

我已经在asp.net mvc中创建了一个ajax表单。我创建了一个OnBegin处理程序。在我的OnBegin处理程序中,我调用kendo.confirm。但是,当这处理OnBegin事件时,表单提交将在选择选项之前完成。

所以我尝试通过变通方法来做到这一点。本质上是使用一个调用确认的按钮,然后从jQuery提交表单。这感觉像是一个很棘手的工作。而且在执行此操作时,我发现那里存在一些ModelState问题。通过使用常规的Asp.Net提交方法可以解决这些问题。

 @using (Ajax.BeginForm("Save", "Form",new AjaxOptions {   
                                 HttpMethod = "POST", 
                                 OnSuccess = "SubmitSuccess", 
                                 OnFailure = "SubmitFailure",
                                 OnBegin="OnAjaxBegin"  }))
{
 ....
}
    function SubmitSuccess() {                           
        window.location.href = '@Url.Action("Index","Home")';
    }

    function SubmitFailure() {            
        kendo.alert("....");
        kendo.ui.progress($("#Form"), false);
    }  

    function OnAjaxBegin() {
        kendo.confirm("Please confirm that a copy of the sample invoice has been donwloaded and saved").then(function ()                
        {                
            kendo.ui.progress($("#Form"), true)
            return true;
        }, function() {
            return false;
        });
    }

因此,从理论上讲,只有在确认后才能提交表格。而是提交了表单,在选择任何选项之前,我在控制器中达到了断点。任何帮助将不胜感激。

更新:因此,我尝试在OnBegin处理程序中使用return,但结果仍然相同

OnBegin="return OnAjaxBegin()"

0 个答案:

没有答案