view有function testFun()
{
     var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}];
     var url="../../Home/Index"; 
     $.post(url,tempData,function(data){
     alert(data);
})
}
Home Controller里:Public ActionResult Index(FormCollection formData)
{
    //怎么接收view传来的值呢? (没有view中tempData对应的实体,接收到的值只需要拆分开来即可)。
}

解决方案 »

  1.   

    function testFun()
    {
         var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
         var url="../../Home/Index"; 
         $.post(url,{tempData:tempData},function(data){
         alert(data);
    })
    }Public ActionResult Index(sring tempData)
    {
     
        List<XX> X=反序例化JSON 字符串tempData;
    }
      

  2.   

    参考一下:http://www.cnblogs.com/mikel/archive/2011/09/13/2174803.html
      

  3.   

    如果没有定义对应的json类型,那么就直接取到这个json字符串再自己反序列化吧。另外,$.post 里要转换成 json 字符串。如下:JSON.stringify(tempData) $.post(url, JSON.stringify(tempData), function (data) {
             alert(data);
         }, 'json');
      

  4.   

    在view中post前,参数已经组合成Json类型了,现在的问题是在controller中用“var x = Request.Form[0];”取这个post传来的参数,得到的是“"undefined,undefined,undefined"”。Request.Form[0][1]取到到的是:“ 110 'n' ”。请问怎么才能取到值呢?
      

  5.   

    将JSON转成一个字符串通过后台反序例化实现var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
     $.post(url,{tempData:tempData},function(data){