我有一个名为myvariable
的变量,它有一些元素(id,name等)
在我的控制器中,我计算了这个变量的一些元素并将其返回:return View(myvariable)
。
我的控制器中有另一个功能:
public void drawnFromDb(id) {
myclass myvariable;
if (id == "1") {
myvariable.text = "hello";
}
else {
myvariable.text = "world";
}
}
在我的javascript函数中,我计算了其他元素:
function mydrawnFromDb(id) {
$.ajax({
type: "POST",
url: baseUri + "mycontroller/drawnFromDb",
data: { id: id },
success: function () {
},
error: function (error) {
}
});
}
但我需要“返回”myvariable
到视图。
我该怎么办呢?
任何帮助表示赞赏!
答案 0 :(得分:2)
只需从控制器操作返回一个JsonResult,而不是void:
public ActionResult drawnFromDb(id) {
myclass myvariable;
if (id == "1") {
myvariable.text = "hello";
}
else {
myvariable.text = "world";
}
return Json(myvariable);
}
在您的成功回调中,您可以访问结果:
success: function (result) {
alert(result.text);
}
答案 1 :(得分:1)
以控制器的形式从控制器返回myVariable:
var javaScriptSerializer = new JavaScriptSerializer();
var jsonObject = javaScriptSerializer.Serialize(myVariable);
return jsonObject;
现在,您可以在ajax函数中使用它:
function mydrawnFromDb(id) {
$.ajax({
type: "POST",
url: baseUri + "mycontroller/drawnFromDb",
data: { id: id },
success: function (myVariableJson) {
//Use the myVariableJson, and access the text property
},
error: function (error) {
}
});
}