èASP.Net MVC proprietà stringa 3 bind come string.Empty invece di null modello
public partial class BilingualString
{
public string RuString { get; set; }
public string EnString { get; set; }
}
public partial class Member
{
public Member()
{
this.DisplayName = new BilingualString();
}
public BilingualString DisplayName { get; set; }
}
se l'utente non riempire input i valori di RuString e EnString è nullo. Ho bisogno di string.Empty anziché null.
Utilizzando CustomModelBinder come questo:
public class EmptyStringModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;
return base.BindModel(controllerContext, bindingContext);
}
}
non aiutano.
E se non si desidera contrassegnare ogni campo stringa come '[DisplayFormat (ConvertEmptyStringToNull = false)]'? – AlexBBB
puoi usare il secondo modo !!! –
La domanda è come dire a MVC 3 di associare l'input HTML vuoto come string.Empty, non come null (come in MVC 1). BilingualString è un esempio per mostrare che CustomStringModelBinder non esegue il trucco. – AlexBBB