【发布时间】:2017-11-29 12:46:49
【问题描述】:
我创建了一个包含几个步骤的引导向导。当用户在第二个向导步骤中单击“保存并继续”按钮时,我想在进入第三个步骤之前将输入的表单数据提交到底层数据存储。我似乎无法让表单提交工作,控制器上的 actionmethod 没有被调用。这是页面上的 javascript,它正在被点击,但控制器操作不是
$("#scheduleReport").on("click", function () {
// Get the record's ID via attribute
//var id = $(this).attr('data-id');
$('#frmAddSchedule').validate();
$('#frmAddSchedule').submit();
});
$('#frmAddSchedule').on('submit', function (e) {
var $form = $(e.target);
if ($form.valid()) {
e.preventDefault();
$.ajax({
url: '@Url.Action("Create", "ReportScheduler")',
data: $form.serialize(),
async: true,
type: 'POST',
success: function (returnval) {
if (returnval.success == true) {
$("#schedulerGrid").igGrid("dataBind");
}
if (returnval.success == false) {
//$form.parents('.bootbox').modal('hide');
bootbox.alert({ title: '<div class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i> ERROR</div>', message: returnval['responseText'] });
}
},
error: function (returnval) {
//$form.parents('.bootbox').modal('hide');
bootbox.alert(returnval['responseText']);
}
});
}
});
和控制器动作方法
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Prefix = "Schedule")]ReportScheduleViewModel item)
{
有没有这样做的“最佳实践”?我做错了什么?
【问题讨论】:
标签: ajax asp.net-mvc twitter-bootstrap-3 wizard