2012-04-30 7 views
0

asp.net MVCがNull値をどのように処理するのかを理解する上で問題があります。最初のシナリオで iは、以下のアクションメソッドを持っている: -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); 
      } 

Incaseの次の例外は、string desc = vlr.LabTest.Descriptionで発生する任意の結果(var vlr is null)を返さないvar vlr = repository.GetVisitLabResult(labtestid,visitid);リポジトリ方法。 NullReferenceExceptionがユーザーコードによって処理されませんでした。なぜ、フレームワークはnullの値を文字列descに代入するのではなく、例外を発生させたのですか? BR

答えて

3

実際のオブジェクト自体がnullのようです。あなたはヌルオブジェクトを持っており、その上のプロパティにアクセスしようとしているので、ランタイムはNullReferenceExceptionを投げます。あなたはオブジェクトがメンバーにアクセスしようとする前にオブジェクトがヌルであるかどうかをチェックするのが最良です。

関連する問題