C# 从ajax发送空数组在ASP.NET MVC操作中给出了空参数
我有一个简单的ajax调用,如:C# 从ajax发送空数组在ASP.NET MVC操作中给出了空参数,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我有一个简单的ajax调用,如: $.ajax({ url: ... , data: { anArray: [] }, ... }); 以及控制器的操作: public ActionResult Test(int[] anArray) { ... } 似乎anArray是null而不是空数组 我也试过了 列表 string[] 对象[] 但对于以上所有内容,我看到anArray参数为null 我读过类似的问题,但也有与模型参数相关的问题,我这里没有模型 如何在控制
$.ajax({
url: ... ,
data: { anArray: [] },
...
});
以及控制器的操作:
public ActionResult Test(int[] anArray) {
...
}
似乎anArray
是null而不是空数组
我也试过了
列表
string[]
对象[]
anArray
参数为null
我读过类似的问题,但也有与模型参数相关的问题,我这里没有模型
如何在控制器的操作中接收空数组?我该怎么办?MVC似乎将空数组映射为空数组;这是出于某种原因而设计的。我想你无论如何也不能对一个零项数组做太多的事情 如果数组确实为null,那么您最好自己实例化它:
public ActionResult Test(int[] anArray)
{
anArray = anArray ?? new int[0];
//...
}
您是否已将数据类型添加到ajax调用中?您的数据没有达到操作方法我想看看是否设置了正确的内容类型,例如,
contentType:“application/json”
。即使我将该内容类型设置为空,也是一样的:它是post还是get?我发现在C#的MVC中,我通常需要输入数据类型:“json”
以及@Jai的建议。此外,您应该能够简单地执行数据:[]
。只需检查null。