处理MVC模型中的空值

时间:2012-07-02 06:35:48

标签: asp.net-mvc model

我的MVC 4应用程序出了问题。我有一个模型,代码如下:

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并返回Model类型的数据(这是我数据库中表的名称)。

问题指向此行:obj.Type = model.Type.Trim();每当来自数据库的空值发生时。

有人可以指出我如何处理这个问题的有效方法吗?

2 个答案:

答案 0 :(得分:2)

您可以尝试在复制到ViewModel对象之前检查数据库返回。

obj.Type = provider.Type != null ? provider.Type.Trim() : string.Empty;

答案 1 :(得分:0)

使用

public string? Type { get; set; }