我的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對象。 –