我正在嘗試更新用戶物件
這是我的模型:
public class User:BaseModel
{
[Display(Name="E-Posta"),Required(ErrorMessage ="Kullan?c? ad? (Email) Zorunludur")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "Email")]
[DataType(DataType.EmailAddress)]
[EmailAddress(ErrorMessage = "Hatal? E-Posta")]
public string Email { get; set; }
[Display(Name="Firma ünvan?")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "FirmTitle")]
public string FirmTitle { get; set; }
[Display(Name = "Vergi Numaras?")]
[StringLength(11, ErrorMessage = "Vergi Kimlik Numaras? 10 veya 11 karakter olmal?d?r", MinimumLength = 10)]
[JsonProperty(PropertyName = "VKN")]
public string VKN { get; set; }
[Display(Name="Al?c?lar E-Posta")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "DocumentReceivers")]
public string DocumentReceivers { get; set; }
[Display(Name="Sap Lojistik Id")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "SAPLogisticId")]
public int? SAPLogisticId { get; set; }
[Display(Name="Parola"), Required(ErrorMessage = "Parola Zorunludur")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "Password")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name="Rol"),Required(ErrorMessage ="Bu alan Gereklidir")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "Role")]
public string Role { get; set; }
[Display(Name="Olu?turulma Tarihi")]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "CreatedDate")]
public DateTime CreatedDate { get; set; }
}
我有一個可空int?命名的SAPLogisticId,我試圖設定空值
var values = "{\"SAPLogisticId\":null}";
int key=4;
var user = userManager.Get(key);
JsonConvert.PopulateObject(values, user,new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore,
ContractResolver = new CamelCasePropertyNamesContractResolver() { NamingStrategy = null }
});
但它沒有設定SAPLogisticId它的值它什么都不做
其他屬性確實有效
uj5u.com熱心網友回復:
那是因為你正在使用NullValueHandling = NullValueHandling.Ignore. 您告訴序列化程式忽略空值。如果您將其從JsonPropertyforSAPLogisticId 和the的屬性中洗掉,它將JsonSerializerSettings按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/394282.html
