c# - 在确认 kendo.confirm 之前,如何防止提交 ajax 表单?
问题描述
我在 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()"
解决方案
推荐阅读
- android - Mobilefirst 8 Cordova插件android构建失败
- node.js - 传递多个参数来表达
- java - Date.after 和 Data.after 在同一个 if 语句中
- java - 如何将 CardLayout 与多个 JPanel 一起使用?
- ios - JSONSerialization 在应用程序中返回 false,在邮递员中返回 true
- python - 对 Python 中的 If、continue 和 else 的结果感到困惑
- react-native - 将 React Native 项目转变为 Android Instant Apps
- java - 使用 Apache POI 与 Excel 单选按钮和复选框进行编程交互
- c - 无法弄清楚如何将 BYTE* 传递给此方法
- java - java.time.LocalDateTime、java.util.Date 和 java.util.Calendar 有什么区别?