如何在发布表单后在jquery对话框中显示来自“return json(message)”操作的消息。我尝试使用以下内容,一切正常,但返回JsonResult触发Save / Open提示而不是使用Ajax.BeginForm调用OnSuccess。
部分视图:
@using (Ajax.BeginForm("SaveDetails", "FileManage", new AjaxOptions { HttpMethod = "POST", OnSuccess = "OnFileUploadSuccess" }, new { enctype = "multipart/form-data", id = "myForm" }))
{
<input id="fuMyFile" type="file" name="files" />
<input id="btnSubmit" type="submit" value="Submit" />
}
<div id="dialogboxWin" style="display: none; padding: 8px 15px;">
<div id="dvWindow"></div>
</div>
以下是jQuery代码:
$('#btnSubmit').click(function () {
$("#dvWindow").html("Are you sure to submit?");
$("#dialogboxWin").dialog({
modal: true,
width: 400,
autoOpen: true,
title: 'Confirmation',
buttons: {
"Yes": function () {
$(this).dialog("close");
$('#myForm).submit();
},
"No": function () {
$(this).dialog("close");
}
}
});
return false;
});
function OnFileUploadSuccess(data) {
alert(data.Message);
}
控制器操作方法:
[HttpPost]
public JsonResult SaveDetails(HttpPostedFileBase file)
{
bool isSaved = File Saving & Some DB operations
return Json(new
{
Result = isSaved
Message = (isSaved)?"Saved Successfully." : "Failed"
}, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:0)
当您提交表单时,您没有收到操作返回的消息。您可以将要显示的消息保存在某个会话变量中,并检查会话变量是否包含任何值,而不是文档就绪。页面并相应地显示消息。