我有一个带有以下签名的控制器
public async Task<ActionResult> SaveData([FromBody] MyData data)
{
// check if data is null
}
MyData 类:
public class MyData
{
// Other members
public UInt16 Abtest { get; set; }
// Other members
}
当我用 Abtest 作为空字符串点击我的控制器时,我在控制器中接收到的数据为 null。但适用于public int Abtest { get; set; }
Abtest 为 0。
虽然 int 和 UInt16 都被视为简单类型,但在这种情况下,Abtest 应映射为 0,因为 Model binder 将不可为空的值类型映射到 default(T)
我不知道为什么会这样,找不到与此相关的任何资源。