ASP.Net MVC 3将字符串属性绑定为string.Empty而不是null [英] ASP.Net MVC 3 bind string property as string.Empty instead of null
本文介绍了ASP.Net MVC 3将字符串属性绑定为string.Empty而不是null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
模型是
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为null.我需要string.Empty而不是null.
if user don't fill inputs the values of RuString and EnString is null. I need string.Empty instead of null.
像这样使用CustomModelBinder:
Using CustomModelBinder like this:
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; }
OR
private string _RuString;
public string RuString {
get {
return this._RuString ?? "";
}
set {
this._RuString = value ?? "";
}
}
这篇关于ASP.Net MVC 3将字符串属性绑定为string.Empty而不是null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文