将null值作为可空的十进制属性传递给控制器​​操作

时间:2013-02-09 12:56:14

标签: asp.net-mvc json asp.net-mvc-4

我正在尝试在JSON对象中传递一个空值,让我们说:{ 'property': null }到ASP.Net MVC中的控制器操作,但是在action方法中我看到该属性获得零值而不是null。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

不要发送该属性或在客户端删除它:delete x.yourProperty

例如,如果你有一个带有可空属性的.net mvc控制器,如下所示:

public JsonResult SomeAction(decimal? yourProperty){ //your code goes here }

如果在客户端使用yourProperty: null调用某个ajax请求,模型绑定器会将其设置为0,就像int或将设置为EmptyString的字符串

所以如果你想把它作为空发送你只是避免发送它,或者如果它是你设置的属性之前你只需要删除那个属性:delete x.yourProperty

答案 1 :(得分:0)

如果您希望这样做,模型上的属性应该是可以为空的小数:

public decimal? MyProperty { get; set; }