esASP.Net MVC 3 se unen propiedad de cadena como String.Empty en lugar de null modelo
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; }
}
si el usuario no se debe rellenar los valores de las entradas RuString y EnString es nulo. Necesito cadena. Vacío en lugar de nulo.
Usando CustomModelBinder así:
public class EmptyStringModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;
return base.BindModel(controllerContext, bindingContext);
}
}
no ayudan.
¿Qué pasa si no queremos marcar cada campo de cadena como '[DisplayFormat (ConvertEmptyStringToNull = false)]'? – AlexBBB
¡puede usar la segunda manera! –
La pregunta es cómo decirle a MVC 3 que enlace la entrada html vacía como cadena. Vacío, no como nulo (como en MVC 1). BilingualString es un ejemplo para mostrar que EmptyStringModelBinder personalizado no hace el truco. – AlexBBB