模型是
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; }
}
如果用户不填写输入,则 RuString 和 EnString 的值为空。我需要 string.Empty 而不是 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)]
public string RuString { get; set; }
或者
private string _RuString;
public string RuString {
get {
return this._RuString ?? "";
}
set {
this._RuString = value ?? "";
}
}
关于asp.net-mvc-3 - ASP.Net MVC 3 将字符串属性绑定(bind)为 string.Empty 而不是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490210/