首页 新闻 会员 周边

请教ASP.NET MVC Action参数如何接收Ajax发送的javascript对象

0
悬赏园豆:20 [已解决问题] 解决于 2015-11-04 13:33

var url = "XXX";

var model = {};

model.pro1 = "";

model.pro2 = "";

...

$.post(url, {
model: model,
}, function (data, textStatus) {

});

 

pubcic ActionResult DoRequest(???){

 

}

_天光云影的主页 _天光云影 | 初学一级 | 园豆:70
提问于:2015-11-04 11:11
< >
分享
最佳答案
0

大体思路:

1.定义一个类 PostData

1 public class PostData
2 {
3    public int Pro1 { get; set; }
4 
5    public string Pro2 { get; set; }
6 }

 

2.

1 pubcic ActionResult DoRequest(PostData data)
2 { 
3     var pro1 = data.Pro1; //...
4 }

 

3.应该可以了,不行的话改下大小写...

收获园豆:7
反骨仔 | 菜鸟二级 |园豆:444 | 2015-11-04 11:34

非常感谢,是我的代码写错了,我把要ajax发送的js对象又放到一个对象里了,后台就取不到数据了...

_天光云影 | 园豆:70 (初学一级) | 2015-11-04 13:35

@_天光云影: 非常感谢,第一次被采纳

反骨仔 | 园豆:444 (菜鸟二级) | 2015-11-04 14:58
其他回答(2)
0
var model = {
    name: "kitty",
    age: 10
};
$.post("/Home/Index", model, function (jsonObj) { }, "json");

mvc控制器方法如下:

public class HomeController : Controller
{
    public ActionResult Index(Person model)
    {
        return View();
    }
}

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

定义一个和js对象相同结构的类来接收参数

收获园豆:7
寒冰丿 | 园豆:179 (初学一级) | 2015-11-04 13:12

非常感谢,是我的代码写错了,我把要ajax发送的js对象又放到一个对象里了,后台就取不到数据了...

支持(0) 反对(0) _天光云影 | 园豆:70 (初学一级) | 2015-11-04 13:35
0

如果2楼的不可行。就把json对象拆成每个参数传递。服务接受的action不用修改。

收获园豆:6
Mountains | 园豆:241 (菜鸟二级) | 2015-11-04 13:25

非常感谢,是我的代码写错了,我把要ajax发送的js对象又放到一个对象里了,后台就取不到数据了...

支持(0) 反对(0) _天光云影 | 园豆:70 (初学一级) | 2015-11-04 13:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册