1

我在 javascript 文件中有一个 var toto。我想调用一个 C# 控制器方法,它返回一个字符串,当然将结果字符串分配给 toto。
我尝试了一些方法来实现这一点,但似乎没有任何效果。
有人可以向我解释实现这一目标的最简单方法吗?这是一个 Windows Azure 项目。

非常感谢 !

4

2 回答 2

7

你可以使用 AJAX。例如,使用 jQuery,您可以使用该$.getJSON方法向控制器操作发送 AJAX 请求,该操作返回 JSON 编码结果,并在成功回调中使用结果:

$.getJSON('/home/someaction', function(result) {
    var toto = result.SomeValue;
    alert(toto);
});

和控制器动作:

public ActionResult SomeAction() 
{
    return Json(new { SomeValue = "foo bar" }, JsonRequestBehavior.AllowGet);
}
于 2012-05-30T07:42:39.860 回答
3

您必须使用 JSON:

控制器

public class PersonController : Controller
{
   [HttpPost]
   public JsonResult Create(Person person)
   {
      return Json(person); //dummy example, just serialize back the received Person object
   }
}

Javascript

$.ajax({
   type: "POST",
   url: "/person/create",
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: jsonData,
   success: function (result){
      console.log(result); //log to the console to see whether it worked
   },
   error: function (error){
      alert("There was an error posting the data to the server: " + error.responseText);
   }
});

阅读更多:http ://blog.js-development.com/2011/08/posting-json-data-to-aspnet-mvc-3-web.html#ixzz1wKwNnT34

于 2012-05-30T07:44:28.943 回答