0
我想從我的剃鬚刀視圖提交一個ajax窗體,並且我希望控制器返回一個JSON對象。當我使用(「#form0」)。submit(alert(「hi」););數據發送到控制器,我收到警報。但是,當我使用(「#form0」)。submit(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 2012-08-06 17:05:53