想请问一下,在前端利用ajax将数据放入json对象然后序列化传送到后台,后台时asp.net mvc的,在后台要如何反序列化并保存到数据库中,请各位高手帮帮忙,如有实例不胜感激
你可知道,MVC可以自动完成一定Json转实体的操作。
例如,我后台有这样一个模型
public class User { public string realname { get; set; } public string username { get; set; } public int age { get; set; } public string address { get; set; } }
那么我在页面上执行一个Ajax请求
$.post("/Home/Index",{ realname: "张三", username:"zhangsan", age:1, address:"美国" },function(){})
后台控制器中
public class HomeController : Controller { public ActionResult Index(user user) { //这里的user变量里就初始化好你json中的数据了 return View(); } }
如果你的模型中还有复杂变量,例如
public class User { public string realname { get; set; } public string username { get; set; } public int age { get; set; } public string adddress { get; set; } public parent parent { get; set; } } public class parent { public string name { get; set; } public string work { get; set; } }
那么我把json格式修改为
{ realname: "张三", username:"zhangsan", age:1, address:"美国", parent:{name:"小明", work:"教师"} } 或者 { "realname": "张三", "username":"zhangsan", "age":1, "address":"美国", "parent.name" :"小明", "parent.work":"教师" }
控制器接受方法不变
另外,数组型的模型。可以用js数组形式
{myarr: [1,2,3,4,5,6] }
或者
{ "myarr[0]":1, "myarr[1]":2 }
要注意的是,第二种写法必须下标从0开始,且连贯,否则会被抛弃