모델ASP.Net MVC 3 바인딩 문자열 속성 사용자가 입력을 RuString의 값을 기입하지 않고 EnString가 null의 경우 String.Empty로 대신 널
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; }
}
때문이다. 문자열이 필요합니다. null 대신 빈 문자열입니다. 이 같은
사용 CustomModelBinder :
이public class EmptyStringModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;
return base.BindModel(controllerContext, bindingContext);
}
}
도움이되지 않습니다.
모든 문자열 필드를'[DisplayFormat (ConvertEmptyStringToNull = false)] '로 표시하지 않으려면 어떻게해야합니까? – AlexBBB
유는 두 번째 방법을 사용할 수 있습니다 !!! –
질문은 MVC 3에 null이 아닌 string.Empty로 빈 html 입력을 바인드하는 방법입니다 (MVC 1처럼). BilingualString은 사용자 정의 EmptyStringModelBinder가 트릭을 수행하지 않는다는 것을 보여주는 예입니다. – AlexBBB