自asp.net mvc请求ajax以来获取数据

时间:2012-05-10 21:25:29

标签: ajax asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 asp.net-ajax

我想通过请求ajax将所有数据放入一个对象。

这些数据通过一个功能进入我的控制器。 在我的数据标题中,我有这些信息:

我有4个对象allPly创建,但所有数据(克,乳液和其他)等于null或零。 但数据评论和OtherData没关系,这很有效。

感谢您的帮助

我的要求:

var params={};
var allStep21 ={allData..}
$.extend(params,allStep21);
 $.ajax({
    type: "POST",
    url: "Request",
    data: params,
});

标题html:

allPly[0][Gramme]:10
allPly[0][Toto]:White
allPly[0][Test]:None
allPly[0][Lotion]:1
allPly[1][Grammage]:11
allPly[1][Toto]:White
allPly[1][Test]:Fine
allPly[1][Lotion]:0
OtherData : 585
Comment: all it's ok

在我的控制器中:

[HttpPost]
public ActionResult Request(AllStep21 allStep21)
{
}

在我的模特中:

public class AllStep21
{
    public String OtherData { get; set; }
    public String Comment { get; set; }
    public List<allPly> allPly { get; set; }
}
public class allPly
{
    public int Gramme { get; set; }
    public String Toto { get; set; }
    public String Test { get; set; }
    public int Lotion { get; set; }
}

2 个答案:

答案 0 :(得分:1)

您可以使用JSON请求,该请求允许您将任意复杂对象发送到控制器操作:

var params = { 
    allStep21: { 
        comment: 'some comment', 
        otherData: 'some other data',
        allPly: [
            { toto: 'toto 1', test: 'test 1', lotion: 1, gramme: 1 },
            { toto: 'toto 2', test: 'test 2', lotion: 2, gramme: 2 }
        ]
    } 
};

$.ajax({
    url: 'Request',
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    data: JSON.stringify(params),
    success: function(result) {
        alert('successs');
    }
});

此处显示的JSON.stringify方法本身内置于所有现代浏览器中。但是,如果您需要支持旧版浏览器,则需要包含json2.js脚本。

答案 1 :(得分:-1)