0

我有一个带有以下签名的控制器

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)

我不知道为什么会这样,找不到与此相关的任何资源。

4

0 回答 0