0

我有一个变量被命名: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视图。

请问我该怎么做?

任何帮助表示赞赏!

4

2 回答 2

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);
}
于 2013-06-23T13:00:53.570 回答
1

从控制器返回 myVariable 作为 json:

        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) {

      }
  });
}
于 2013-06-23T12:52:17.553 回答