将javascript字典传递给控制器上的ASP.NET MVC操作

将javascript字典传递给控制器上的ASP.NET MVC操作,javascript,asp.net-mvc,dictionary,Javascript,Asp.net Mvc,Dictionary,我试图从javascript向controller中的ASP.NET MVC操作传递一个字典,但它不起作用。控制器中的操作接收不含元素的空字典 javascript代码: var myDict = {}; stringArray.forEach(function (key, index) { myDict[key] = booleanArray[index] }); var actionUrl = '@Url.Action("UpdateFromDictionary",

我试图从javascript向controller中的ASP.NET MVC操作传递一个字典,但它不起作用。控制器中的操作接收不含元素的空字典

javascript代码

    var myDict = {};
    stringArray.forEach(function (key, index) { myDict[key] = booleanArray[index] });

    var actionUrl = '@Url.Action("UpdateFromDictionary", "MyController")';

    $.ajax({
        url: actionUrl,
        type: "POST",
        traditional: true,            
        data: { myDictArg: myDict },
        success: function () {
        }
    });
    public void UpdateFromDictionary(Dictionary<string, bool> myDictArg)
    {
       // Do something with dictionary
    }
ASP.NET MVC控制器操作

    var myDict = {};
    stringArray.forEach(function (key, index) { myDict[key] = booleanArray[index] });

    var actionUrl = '@Url.Action("UpdateFromDictionary", "MyController")';

    $.ajax({
        url: actionUrl,
        type: "POST",
        traditional: true,            
        data: { myDictArg: myDict },
        success: function () {
        }
    });
    public void UpdateFromDictionary(Dictionary<string, bool> myDictArg)
    {
       // Do something with dictionary
    }
public void UpdateFromDictionary(Dictionary myDictArg)
{
//用字典做点什么
}
我刚刚删除了“traditional:true,”

我得到了价值

你是否考虑改变动作参数来接受JSON?@ JerdineSabio对不起,我不理解你。我对它有点陌生。。。。你能举个例子吗?你忘了把
[HttpPost]
放在控制器操作上吗?只需删除“传统:true,”