Я создал форму ajax в asp.net mvc.Я создал обработчик 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;
});
}
Таким образом, теоретически форма должна быть представлена только в случае подтверждения.Вместо этого форма отправляется, и я нажимаю на точку останова в контроллере, прежде чем выбирается какая-либо опция.Любая помощь будет принята с благодарностью.
Обновление: поэтому я попытался использовать return в моем обработчике OnBegin, и у меня все еще тот же результат
OnBegin="return OnAjaxBegin()"