解决C# GET / POST 请求中未传递字段或者传递空字符串得到 null 的问题?

使用 ASP.NET Core 做开发的时候,有些可选字段,可传也可以不传递的字段,如果未传递,或者传递空字符串 "", .NET Core 后台解析到的都是 null。显然,这有时候不是我们所需要的,我们需要的是 空字符串 ""

$.post("/api/user/1", { id: 111, userName: "" }, function () {

})

怎么办呢?有什么办法解决吗?

有的,答案就是:

使用实体接收,并且在对应字段上加上特性 [DisplayFormat(ConvertEmptyStringToNull = false)]

比如下面这样

[HttpPost]
public int EditUser([FromForm] UserRequest user)
{
            return user.id;
}
public class UserRequest
{
    public int id { get; set; }

    [DisplayFormat(ConvertEmptyStringToNull = false)]
    public string userName { get; set; }
}
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花