1

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

public class MyModel
{
    [Required]
    [Display(Name = "Code")]
    public string Code { get; set; }

    [Display(Name = "Type")]
    [DisplayFormat(NullDisplayText = "")] 
    public string Type { get; set; }
}

Model 中的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();每当出现来自数据库的空值时。

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

4

2 回答 2

2

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

obj.Type = provider.Type != null ? provider.Type.Trim() : string.Empty;
于 2012-07-02T06:52:03.107 回答
0

采用

public string? Type { get; set; }
于 2012-07-02T06:40:11.400 回答