有没有办法通过AJAX将“C#”对象传递给控制器​​?

通过jQuery ajax将字符串传递给控制器​​动作非常简单,但是可以将一组变量序列化为对象,将其发送到控制器,并让控制器将其识别为对象吗?

例如:

在服务器中,您有一个Obj类:

class Obj{ string a; int b; double c; } 

在控制器中,您有一个期望Obj对象的方法

 public JsonResult UpdateObj(Obj obj){ //stuff } 

在Jquery中是否有一种方法可以将一些JavaScript变量序列化为类Obj,然后通过AJAXpost将其发送到MVC控制器动作?

当然,我们假设您有一个强类型视图:

 @model Obj  

并在控制器动作中:

 public ActionResult SomeAction(Obj obj) { ... } 

关于这个Obj的一个评论,让它有公共属性而不是一些字段:

 public class Obj { public string A { get; set; } public int B { get; set; } public double C { get; set; } } 

jQuery :::

 .ajax{ type: "POST", url: "yourUrl/UpdateObj", data: $("someHTMLForm").serialize(), contentType: "application/json; charset=utf-8" success: function(data){ //data will house your JsonResult } }