ASP.NET MVC AJAX调用返回值从控制器查看
问题描述:
在AJAX调用期间是否可以将ViewData,TempData或会话返回到视图?这些变量是否包含在循环中?请评论ASP.NET MVC AJAX调用返回值从控制器查看
function submitForm(frm) {
var tdata = $(frm).serialize();
$.ajax({
url: "/Organization/EditOrganizationMeta",
data: tdata,
success: function (result) {
if (result["ErrorMessage"] == "No Error") {
$("#" + result["DivName"] + "1").hide();
$("#" + result["DivName"]).show();
$("#" + result["DivName"]).empty();
$("#" + result["name"]).attr("value", result["SavedValue"]);
$("#" + result["DivName"]).append("<b>" + result["SavedValue"] + "</b>");
$("#" + result["DivName"] + "2").empty();
$("#" + result["DivName"] + "2").append("<b>Record is successfully saved</b>");
}
else if (result["ErrorMessage"] != "") {
$("#" + result["DivName"] + "1").show();
$("#" + result["DivName"]).hide();
$("#" + result["DivName"]).empty();
$("#" + result["name"]).attr("value", result["PreviousValues"]);
$("#" + result["DivName"] + "2").empty();
$("#" + result["DivName"]).append("<b>" + result["PreviousValues"] + "</b>");
$("#" + result["DivName"] + "2").append("<b>" + result["ErrorMessage"] + "</b>");
}
},
type: "POST",
datatype: "json"
});
return false;
}
答
Bsaed您刚刚发布的JavaScript代码,我认为最好的办法是返回你想要的success
功能使用为JSON参数。
要从ASP.NET MVC控制器的ActionResult返回一个对象作为JSON,你必须做到以下几点:
return Json(myObject); //where myObject is an object that contains all the information that you want to return.
您使用的是内置的MVC的Ajax方法和脚本?如果是这样,你是否问在执行Ajax调用后如何更改视图中的数据? – 2010-09-04 05:38:32
没有简单的我在控制器中设置一个变量,我想在视图中检索它 – maztt 2010-09-04 05:42:22
为什么你需要直接访问viewdata/tempdata?只需将它作为您的控制器方法中的JSON/XML响应的一部分返回即可。即返回JsonResult(someViewModelWhichAlsoIncludesTempData) – RPM1984 2010-09-04 05:45:19