将javascript字典传递给控制器上的ASP.NET MVC操作
我试图从javascript向controller中的ASP.NET MVC操作传递一个字典,但它不起作用。控制器中的操作接收不含元素的空字典 javascript代码:将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",
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,”