0
면도기 뷰에서 ajax 양식을 제출하려고하는데 컨트롤러에서 JSON 객체를 반환하기를 원합니다. 내가 사용할 때 ("# form0"). submit (alert ("hi");); 데이터가 컨트롤러로 전송되고 경고 메시지가 나타납니다. 그러나, ("# form0")을 사용할 때. (function() {alert ("hi");}); 데이터가 전달되지 않고 경고 메시지가 표시되지 않습니다. 나는 이것이 내가 놓치고있는 나의 구문으로 사소한 것임을 느끼게된다.Ajax.BeginForm 제출 메소드를 오버로드 할 수 없습니다.
JQuery와 :
$(function() {
//setting up the schedule modal dialoag.
$("#schedModal").dialog({
buttons: {
Submit:
function() {
$("#form0").ajaxSubmit(function() {
//this is where I want to put the magic, but I need the alert to fire first.
alert("hi");
return false;
});
},
Cancel:
function() {
$(this).dialog("close");
}
},
autoOpen: false,
minHeight: 350,
modal: true,
resizable: false
});
대상보기 :
@model FSDS.DataModels.Schedule
@using (Ajax.BeginForm("scheduleNew", null, new AjaxOptions { UpdateTargetId = "partial" }, new {}))
{
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.ScheduleName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ScheduleName)
@Html.ValidationMessageFor(model => model.ScheduleName)
</div>
@* tons of other labels and editor fields go in here, omitted for brevity. *@
}
컨트롤러, 즉 중요한 경우 :
[HttpPost]
public ActionResult scheduleNew(Schedule schedule)
{
if (Request.HttpMethod == "POST")
{
FSDSDBEntities context = new FSDSDBEntities();
if (ModelState.IsValid)
{
context.Schedules.AddObject(schedule);
context.SaveChanges();
}
return Json(schedule);
}
else
{
return PartialView();
}
}
작품. 당신은 신사이고 학자 인 Darin Dimitrov입니다. – Billdr