Jay*_*Sun 5 jquery razor asp.net-mvc-3
通过jQuery ajax将字符串传递给控制器动作很简单,但是可以将一组变量序列化为对象,将其发送到控制器,并让控制器将其识别为对象吗?
例如:
在服务器中,您有一个Obj类:
class Obj{
string a; int b; double c;
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,您有一个期望Obj对象的方法
public JsonResult UpdateObj(Obj obj){
//stuff
}
Run Code Online (Sandbox Code Playgroud)
在Jquery中是否有一种方法可以将一些JavaScript变量序列化为类Obj,然后通过AJAX帖子将其发送到MVC控制器动作?
当然,我们假设您有一个强类型视图:
@model Obj
<script type="text/javascript">
// Serialize the model into a javascript variable
var model = @Html.Raw(Json.Encode(Model));
// post the javascript variable back to the controller
$.ajax({
url: '/home/someAction',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.serialize(model),
success: function(result) {
// TODO: do something with the results
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
并在控制器动作中:
public ActionResult SomeAction(Obj obj)
{
...
}
Run Code Online (Sandbox Code Playgroud)
关于这个Obj的一个评论,让它有公共属性而不是一些字段:
public class Obj
{
public string A { get; set; }
public int B { get; set; }
public double C { get; set; }
}
Run Code Online (Sandbox Code Playgroud)