我已经在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()"