将json null发送到控制器会导致列表中包含0个元素

时间:2013-07-24 14:05:52

标签: c# asp.net-mvc json null asp.net-mvc-controller

我从浏览器发出json请求{Par:null}发送给我的控制器(C#):

public JsonResult MyControllerMethod(List<Guid> Par){
    //do some stuff depending on whether Par is null
}

但是Par作为List<Guid>以0项进入控制器,这是正确的行为吗?我以为在类似的情况下,我之前已经过了null,而且它仍然是空的。

1 个答案:

答案 0 :(得分:0)

好的,看看mvc绑定代码

对于url中的每个参数,它会尝试绑定一个对象 如果它是IList,那么它会创建列表然后尝试向其添加对象,因此在传回null时为空列表。

因此,如果未指定参数,则它不会绑定任何内容,从而使其为null。

因此,答案是如果您想在服务器端使用null,则不要在客户端上指定参数名称