2012-04-30 63 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。在尝试访问它的成员之前,您最好检查对象是否为空:)