我正在使用jquery用户界面对话框并显示一个表单:
$("#detailView").dialog({
resizable: false,
height: 'auto',
autoOpen: false,
width: 1000,
modal: true,
buttons: {
'Close': function () {
closeModalPopup();
}
}
});
我的窗体中有一个按钮(而不是对话框按钮)。单击此按钮时,我使用下面的代码将Ajax发送到服务器:
$('.button').live('click', function () {
$.post('/MyController/Update', $("#myForm").serialize(), function (data) {
if (data == "Update Complete") {
closeModalPopup();
}
else {
$("#detailView").html(data);
}
}, "html");
});
如果发布成功,我将返回“update complete”(更新完成),然后关闭jquery用户界面对话框。
问题是,当它失败并且出现错误时,我会在控制器操作中执行此操作:
if (!validationResult.IsValid)
{
validationResult.AddToModelState(ModelState, null);
return PartialView("DetailContent", hireRequest);
}
else
{
return Content("Update Complete");
}
这
应该
点击javascript回调中的“else”案例,并在对话框中显示新内容,但似乎发生的情况是,部分结果的内容显示在整个底层页面上(与我想要的模式对话框相反)。
有什么问题的建议吗?