绑定int?如果value是非数字非空字符串,则为null

时间:2015-04-14 15:16:59

标签: asp.net-web-api

我有一个viewmodel,其属性类型为int?。

如果发送值是整数或为空,则可以正常工作。当值为字符串时,抛出异常“无法将字符串转换为整数”

是否可以更改绑定的行为,而不是抛出错误,它会绑定空值?

我为typeof(int?)创建了一个modelbinder类,但是没有调用ModeBind函数。我想在模型绑定之前发生了验证。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当您说您有一个视图模型时,您指的是传递给您的操作方法的参数吗? E.g。

public Foo Bar(MyViewModel vm)

如果是这样,那么你的模型绑定器应该是MyViewModel类型。您还可以使用ValueProvider从随机字符串中提取int以覆盖默认值提供程序功能。