Если вы хотите выполнить какую-то работу в случае успеха, потерпите неудачу и т. Д. c. Ситуация с отправкой формы, тогда вам нужно будет использовать Ajax
вызов на ваш взгляд. При использовании ASP.NET MVC
вы можете попробовать следующий подход.
Просмотр:
$('form').submit(function (event) {
event.preventDefault();
var formdata = $('#demoForm').serialize();
//If you are uploading files, then you need to use "FormData" instead of "serialize()" method.
//var formdata = new FormData($('#demoForm').get(0));
$.ajax({
type: "POST",
url: "/DemoController/Save",
cache: false,
dataType: "json",
data: formdata,
/* If you are uploading files, then processData and contentType must be set to
false in order for FormData to work (otherwise comment out both of them) */
processData: false, //For posting uploaded files
contentType: false, //For posting uploaded files
//
//Callback Functions (for more information http://api.jquery.com/jquery.ajax/)
beforeSend: function () {
//e.g. show "Loading" indicator
},
error: function (response) {
$("#error_message").html(data);
},
success: function (data, textStatus, XMLHttpRequest) {
$('#result').html(data); //e.g. display message in a div
},
complete: function () {
//e.g. hide "Loading" indicator
},
});
});
Контроллер :
public JsonResult Save(DemoViewModel model)
{
//...code omitted for brevity
return Json(new { success = true, data = model, message = "Data saved successfully."
}
Обновление: Если SubmitButton вызывает метод JavaScript
или использует вызов AJAX
, необходимо выполнить проверку в этом методе вместо нажатия кнопки, как показано ниже. В противном случае запрос по-прежнему отправляется на Controller
без проверки.
function save(event) {
//Validate the form before sending the request to the Controller
if (!$("#formID").valid()) {
return false;
}
...
}
Надеюсь, это поможет.