有没有办法通过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 } }