使用 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; }
}