0

asp.netmvcが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にnull値を割り当てるのではなく、例外を発生させたのでしょうか。BR

4

1 に答える 1

3

実際のオブジェクト自体がnullのようです。nullオブジェクトがあり、そのオブジェクトのプロパティにアクセスしようとしているため、ランタイムはをスローしNullReferenceExceptionます。オブジェクトのメンバーにアクセスする前に、まずオブジェクトがnullかどうかを確認することをお勧めします:)

于 2012-04-30T16:55:20.503 に答える