2012-04-30 103 views
0

我在理解asp.net mvc如何處理空值方面存在一些問題。 在第一種情況我有以下操作方法: -asp.net mvc框架如何處理空值

[HttpPost] 
     public ActionResult Delete(int labtestid, int visitid) 
     { 
try 
      { 
       var vlr = repository.GetVisitLabResult(labtestid,visitid); 
       string desc = vlr.LabTest.Description; 
       repository.DeleteVisitLabResult(vlr); 
       repository.Save(); 
       return Json(new { IsSuccess = "True", id = labtestid, description = desc }, JsonRequestBehavior.AllowGet); 
      } 

櫃面var vlr = repository.GetVisitLabResult(labtestid,visitid);不返回任何結果(var vlr is null)庫方法,然後下面的異常將在string desc = vlr.LabTest.Description提高; NullReferenceException未被用戶代碼處理。那麼爲什麼框架會引發一個異常,而不是隻給字符串desc分配一個空值呢! BR

回答

3

它看起來像實際的對象本身是空的。你有一個空對象,你試圖訪問它的屬性,因此運行時會拋出一個NullReferenceException。在嘗試訪問它的成員之前,您最好檢查對象是否爲空:)