我的MVC 4应用程序出现问题。我有代码模型如下:在MVC模型中处理空值
public class MyModel
{
[Required]
[Display(Name = "Code")]
public string Code { get; set; }
[Display(Name = "Type")]
[DisplayFormat(NullDisplayText = "")]
public string Type { get; set; }
}
在模型中Code
字段表示从数据库中的非空类型而Type
字段接受空值。现在我的问题来了,当我尝试从模型中加载项目,并使用我的控制器加载到我的视图。请参阅下面的控制器代码:
public ActionResult Display(string Code)
{
MyManager manage= new MyManager();
Model model= new Model();
model = manage.GetItem(Code);
MyModel obj = new MyModel();
obj.Code = model.Code.Trim();
obj.Type = model.Type.Trim();
return View(obj);
}
基本上GetItems方法来自我管理器,它接受类型型号的Code
并返回数据(这是表的名字在我的数据库)。
问题指向此行:obj.Type = model.Type.Trim();
每当来自数据库的空值发生时。
有人能请我指出一个有效的方法来处理这个问题吗?
嗨!这几乎处理我需要的东西。现在我还有一个问题,如果可空字段的数据类型是'DateTime',那么怎么办?我该如何处理?非常感谢你! – Smiley
您必须将数据库实体更改为DateTime?数据类型。因此,您可以使用类似的语句,或者只需检查Nullable的'HasValue'属性以将值复制到ViewModel对象。 –