Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将名称-值对数组作为字典传递给控制器_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery 将名称-值对数组作为字典传递给控制器

Jquery 将名称-值对数组作为字典传递给控制器,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我在Javascript中有一个名值对数组(就像form.SerializeArray()),我希望将其传递给我的控制器,并将其作为字典对象列表接收 可能吗?如果是,我如何传递对象 谢谢 编辑 这是我想要传递的JS对象 var ct = $('#frmrpt').serializeArray(); url="MyController/Print"; var vhtml = "<iframe src=" + url + " style='width: 100%; height: 100%'

我在Javascript中有一个名值对数组(就像form.SerializeArray()),我希望将其传递给我的控制器,并将其作为字典对象列表接收

可能吗?如果是,我如何传递对象

谢谢

编辑

这是我想要传递的JS对象

var ct = $('#frmrpt').serializeArray();
url="MyController/Print";
var vhtml = "<iframe src=" + url + " style='width: 100%; height: 100%' ></iframe>";

$('#repo').html(vhtml);
var ct=$('#frmrpt').serializeArray();
url=“MyController/Print”;
var vhtml=“”;
$('#repo').html(vhtml);
下面是我想在控制器上接收它的方式

public ActionResult Print( List<Dictionary<string, object>> prms)
公共行动结果打印(列出PRM)
我使用下面类似的方法来反序列化json字符串

public static T DeserializeJSON<T>(string jsonData)
{
    if (!string.IsNullOrEmpty(jsonData))
    {
        //jsonData = jsonData.Replace('"', ' ');
        var serializer = new JavaScriptSerializer();
        return serializer.Deserialize<T>(jsonData);
    }
    return default(T);
}
publicstatict反序列化JSON(字符串jsonData)
{
如果(!string.IsNullOrEmpty(jsonData))
{
//jsonData=jsonData.Replace(“,”);
var serializer=新的JavaScriptSerializer();
返回序列化程序。反序列化(jsonData);
}
返回默认值(T);
}

您可以使用json.net对集合进行反序列化

控制器:


您可以使用json.net对集合进行反序列化

控制器:


我们应该如何知道?发布一些代码,至少显示有问题的对象,并解释控制器如何工作以及您打算如何执行字典内容?我们应该如何知道?发布一些代码,至少显示有问题的对象,并解释控制器如何工作以及您打算如何执行字典内容?
[HttpPost]
[Authorize]
[JsonFilter(Param = "data", JsonDataType = typeof(Dictionary<string,string>))]
public ActionResult Add(Dictionary<string, string> data)
{

}
$.ajax({
        type: 'POST',
        url: url,
        async: true,
        data:  JSON.stringify(data),
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        success: function (data) {

        },
        error: function (xhr, ajaxOptions, thrownError) {

        }
    });