asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
2014-12-01 20:34
801 查看
我们平时使用asp.net mvc的时候,服务器端可以自动把请求的变量转换成参数的变量。
如果要调用
AccountController 里的
public ActionResult CheckLogin(string username, string pwd)
action,那我们只需要在jquery的ajax里写上
var param =
{};
param.username =
"hello";
param.pwd = "word";
$.post("Account", param);
但是,接下来就由问题来了,我们到底如何传递像Model 这样的对象?
我们在开发asp.net mvc程序的时候,经常会编写edit页面和使用updateXXX的action,并通过传递model参数来进行数据更新。这时候我们就会想,能不能直接把view页面修改后的model对象给传递回去Controller。答案是可以的,具体的做法是这样……
首先,假设我们要调用的action是:
public ActionResult SaveAdd(Userinfo model)
然后,在view上写javascript:
var param =
{};
param["model.username"]="someone";
param["model.fullname"]="someone's fullname";
param["model.pwd"]="password";
$.post("SaveAdd", param);
这样,我们就可以在服务器端自动把请求转换成 Userinfo对象了,但是,我最初的时候发现参数怎么传都还是null……调试了一个下午,终于给我发现了问题的所在……
我定义了
Userinfo类的成员变量
public string username;
public string fullname;
public string pwd;
这样是不行的……
最后,我把成员变量改成属性:
public string username { get; set; }
public string fullname { get; set; }
public string pwd { get; set; }
参数的转换就正常了!
如果要调用
AccountController 里的
public ActionResult CheckLogin(string username, string pwd)
action,那我们只需要在jquery的ajax里写上
var param =
{};
param.username =
"hello";
param.pwd = "word";
$.post("Account", param);
但是,接下来就由问题来了,我们到底如何传递像Model 这样的对象?
我们在开发asp.net mvc程序的时候,经常会编写edit页面和使用updateXXX的action,并通过传递model参数来进行数据更新。这时候我们就会想,能不能直接把view页面修改后的model对象给传递回去Controller。答案是可以的,具体的做法是这样……
首先,假设我们要调用的action是:
public ActionResult SaveAdd(Userinfo model)
然后,在view上写javascript:
var param =
{};
param["model.username"]="someone";
param["model.fullname"]="someone's fullname";
param["model.pwd"]="password";
$.post("SaveAdd", param);
这样,我们就可以在服务器端自动把请求转换成 Userinfo对象了,但是,我最初的时候发现参数怎么传都还是null……调试了一个下午,终于给我发现了问题的所在……
我定义了
Userinfo类的成员变量
public string username;
public string fullname;
public string pwd;
这样是不行的……
最后,我把成员变量改成属性:
public string username { get; set; }
public string fullname { get; set; }
public string pwd { get; set; }
参数的转换就正常了!
相关文章推荐
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- asp.net MVC接收前端传递的复杂json对象的简单处理方法
- ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息
- Asp.Net WebAPI传递json对象、后台手动接收参数
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
- ajax传递给asp.net mvc 后台数组参数方式
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- MVC 中前端传递Json数据,后端以对象形式接受参数的处理方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(8):服务器端和客户端数据类型的自动转换:数组类型
- ASP.NET Ajax, JQuery & JSON Date Serialization,.net对象系列化为JSON的时候,DateTime类型的转换问题
- ASP.NET MVC中,后台向前台传递多个对象(表)的方法
- 黑马程序员_学习日记73_725ASP.NET(禁用Cookie、ASP.NET中的重要对象、JavaScript实现AJAX、两种Json格式的序列化方法、JQuery中实现ajax的五种方法)
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- asp.net mvc情况下使用jqery ajax的方法进行json数据传递
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(7):服务器端和客户端数据类型的自动转换:泛型集合类型