删除asp.net MVC中的对象后,是否可以检索对象属性

时间:2012-04-30 17:00:49

标签: asp.net-mvc-3

我有以下DeletePOST操作方法: -

[HttpPost]
        public ActionResult Delete(int id)
        {
            try
            {
                var lb = repository.GetLabTest(id, false);

                repository.DeleteLabTest(lb);
                repository.Save();
                return Json(new { IsSuccess = "True", id = id, description = lb.Description }, JsonRequestBehavior.AllowGet);
            }
//code goes here....

当我编写代码时,我认为它将在description = lb.Description上返回错误,因为我正在删除lb对象,然后我正在检索其lb.Description属性值在return Json内。但是代码能够检索刚刚删除的对象的Description值。那么这是怎么发生的呢? BR

1 个答案:

答案 0 :(得分:1)

IMO是因为你从数据库而不是内存中删除了对象,如果你这样做,那么该对象的副本仍然以var lb的形式存在于mem中

repository.Save();
lb=null;

然后你的代码会抛出异常,可能是对象引用没有设置排序