如何动态地从ASP.NET MVC控制器获取数据到jQuery?

我有一个jQuery函数,在单击div元素时,获取该元素预定义的ID值。 我想要做的是加载父元素子元素,所以我打算使用jQuery动态构建一些html。 我不知道该怎么做,是调用一个控制器(ASP.NET MVC 3)并让控制器将一个集合返回给客户端。

我知道如何将jQuery对象从jQuery发送到控制器,但不是相反。

提前致谢!

以下是如何将数据从Controller发送到json的代码:

$.ajax({ url: '@Url.Action("GetData", "Home")', type: "GET", success: function (result) { $("#somediv").append(result.FirstName); $("#somediv").append(result.LastName); $("#somediv").append(result.Age); } }); 

考虑下面的类……

  public class User { public string FirstName { get; set; } public string LastName { get; set; } } 

你的行动应该是这样的。

 public JsonResult GetData() { User user = new User(); user.FirstName = "Yasser"; user.LastName = "Shaikh"; user.Age = 100; return Json(user, JsonRequestBehavior.AllowGet); } 

进一步阅读

样品:

使用Javascript:

 $.ajax({ type: 'POST', url: '@(Url.Action("SomeAction", "SomeController"))', data: someInputData, error: OnErrorFunction, success: function (data, textStatus, XMLHttpRequest) { alert(JSON.stringify(data)); }, dataType: "json" }); 

控制器:

 public ActionResult SomeAction(InputDataType someInputData) { if (someInputData== null) return null; return new JsonResult {Data = SomeOutputData(someInputData)}; } 

您可以使用jquery ajax函数和MVC Razor Url属性:

 $.ajax({ url: '@Url.Action("Home")', type: "GET", success: function (data) { $("my-div").append(data); } }); 

success属性的值是一个带有一个参数的函数: data 。 这是从控制器返回的结果。