asp.net mvc框架如何处理Null值

时间:2012-04-30 16:52:57

标签: c# asp.net .net asp.net-mvc asp.net-mvc-3

我在理解asp.net mvc如何处理Null值时遇到了一些问题。 在第一个场景中,我有以下操作方法: -

[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

1 个答案:

答案 0 :(得分:3)

看起来实际对象本身为null。您有一个null对象,并且您正在尝试访问它上面的属性,因此运行时将抛出NullReferenceException。在尝试访问它的成员之前,最好先检查对象是否为空:)