#asp.net #web #model-view-controller
#asp.net #web #модель-представление-контроллер
Вопрос:
Вот мой метод создания действия. Я хочу получать оповещение от него, когда успех будет истинным.
public JsonResult Create(Student student ,HttpPostedFileBase img)
{
if (ModelState.IsValid)
{
if (img !=null)
{
var name = Path.GetFileNameWithoutExtension(img.FileName);
var ext = Path.GetExtension(img.FileName);
var filename = name DateTime.Now.ToString("ddmmyyyff") ext;
img.SaveAs(Server.MapPath("~/img/" filename));
student.ImageName = filename;
student.Path = "~/img/" filename;
}
db.Students.Add(student);
db.SaveChanges();
return Json(new { success = true, responseText = "The attached file is not supported." }, JsonRequestBehavior.AllowGet);
}
ViewBag.ClassID = new SelectList(db.Classes, "Id", "Name", student.ClassID);
return new JsonResult { Data = new { success = false, message = "data not saved" } };
}
Вот моя ajax-функция :
function onsub(form) {
$.validations.unobtrusive.parse(form);
if (form.valid()) {
var ajaxConfig = {
type: "POST",
url: form.action,
data: new FormData(form),
success: function (response) {
if (response.success ) {
alert(response.responseText);
} else {
// DoSomethingElse()
alert(response.responseText);
}
}
}
if ($(form).attr("enctype") == "multipart/form-data") {
ajaxConfig["contentType"] = false;
ajaxConfig["processData"] = false;
}
$.ajax(ajaxConfig);
}
return false;
}
Как я могу получить оповещение об этом
без перезагрузки формы. Я также хочу отправить изображения и другие файлы для создания метода действий.
Это результат, который я получаю после отправки формы:
Ответ №1:
В вашем случае вы вызываете действие Create, которое возвращает результат JSON, и тот же ответ Json отображается в браузере.
Это должна быть страница просмотра, с которой вы вызовете этот метод с помощью вызова Ajax, тогда вы сможете увидеть свое предупреждающее сообщение.