我这里有一个愚蠢的问题。我正在使用 ASP .NET MVC 4、EF5 和 Ext JS (Sencha) 开发一个 Web 应用程序。
问题是,按照设计(我不知道为什么),Ext JS 在执行 ajax 请求时会将具有空值的 js 对象转换为空字符串。
为了它,我将过度简化示例。
所以如果我在 JavaScript 中有一个变量
icon_id : null
当我得到 JObject 服务器端时,它变成了
icon_id : ""
icon_id
当我作为请求的参数传递时。因此,当我编写时,icon_id.ToObject<MyNETIconIDClass>()
我得到一个异常,它告诉我它不能从字符串转换为可为空的 int。这是可以理解的。
我可能误解了这背后的逻辑,但由于我不想弄乱 Ext JS 源代码,有什么办法可以告诉 Json.NET 反序列化器将空字符串视为 null ?
据我所见,使用转换器会很麻烦,因为我必须更改模型中每个类中的每个可为空的 int 属性才能使这项工作正常进行。