2010-12-03 12 views
0

を実行しながら、私は例外の取得ASP.NET MVC2例外LINQクエリ

でこれを開発しています:

Object reference not set to an instance of an object 

System.NullReferenceException was unhandled by user code 
    Message="Object reference not set to an instance of an object." 
    Source="Anonymously Hosted DynamicMethods Assembly" 
    StackTrace: 
     at lambda_method(ExecutionScope , TrusteeMaster) 
     at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() 
     at System.Linq.Buffer`1..ctor(IEnumerable`1 source) 
     at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) 
     at LexEyeSystem.Controllers.TrusteeMasterController.JsonContractCollection(Int32 page, Int32 rows, String sidx, String sord) in D:\ParallelMinds\Projects\LexEye\Controllers\TrusteeMasterController.cs:line 560 
     at lambda_method(ExecutionScope , ControllerBase , Object[]) 
     at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) 
     at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) 
     at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 
     at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() 
     at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) 
    InnerException: 

は私がアクションを返すこのJSONを記述する必要があり、その目的のために、jqgridを表示しようとしていますが、私のこのLinqクエリが含まれています。同じクエリが他のページでも正しく実行されています:

var jsonData = new 
{ 
    total = totalPages, 
    page = page, 
    records = totalRecords, 
    rows = ( 
      from s in sortedList 
      select new 
      { 
       cell = new string[] {       
       "TrustContract/Edit/"+ s.TrusteeId.ToString(),       
       s.FullName, 
       s.OtherName.ToString(), 
       s.FatherName, 
       s.TrusteeGender, 
       s.ResidentialAddress, 
       s.CommunicationAddress, 
       s.Occupation, 
       s.Nationality, 
       s.DateOfBirth.Value.ToShortDateString(), 
       s.PlaceOfBirth, 
       s.TelephoneNumber, 
       s.FacsimileNumber, 
       s.MobileNumbers, 
       s.EmailId, 
       s.ElectionIdCardNumber, 
       s.PANCardNumber, 
       s.TaxRegistrationNumber, 
       s.Qualification, 
       s.ExperienceInYears.ToString(), 
       s.Resume.ToString(), 
       "DisclousureInterestDetails/Index/"+ s.TrusteeId.ToString(),//+"?trusteeId="+s.TrusteeId.ToString(), 
       "ForeignDetail/Create/"+ s.TrusteeId.ToString(), 
       "InterestedOtherCompanyInformation/Index/"+ s.TrusteeId.ToString(), 
       "RelativesDetails/Index/"+ s.TrusteeId.ToString() 

      } 
      }).ToArray() 
}; 

なぜここで実行しないでください。

編集: LINQクエリSortedListが取得する:あなたfrom s in sorteListでSortedListのがNULLであるかどうか

var sortedList = objTrusteeMasterList 
        .AsQueryable() 
        .OrderBy(orderBy) // Uses System.Linq.Dynamic library for sorting 
        .Skip(pageIndex * pageSize) 
        .Take(pageSize); 
+0

問題はおそらくあなたの 'sortedlist'にあります。あなたが使っているLINQクエリは何ですか? –

+0

私はLinqクエリを与えた編集された質問を参照してください。しかし、それは適切な結果を与えています。私はデバッグされたごとにどんな例外も生成しません。私が(Linq)の陳述書を声明でデビューする方法はありますか? –

+0

あなたのコードを整理するのに少し時間を費やすことができますか?各行の最後に '
'があり、最初の行は4文字インデントされていないので、コードとしてではなく平文です。読むことが難しくなり、答えが難しい。 –

答えて

1

チェックを。

sortedListでLINQがMoveNextメソッドを呼び出すと例外がスローされると思います。

+0

こんにちはUnmesh、返信いただきありがとうございます。完了しました。ソートされたリストやそれを含むオブジェクトの問題ではありませんでした。私はdbでいくつかのnull値を持っていました。したがって、 "s.FullName.ToString()"のようなselect文で値を取得している間は、Convert.ToString(s.FullName)にする必要があります。それは完璧に働いています。あなたは+1を保持する –

0

私は同じ問題を抱えていました。私がToArray()メソッドを呼び出すと、

from s in sortedList 
      select new ... 

私も例外があります。問題は、ToString()への呼び出しでした。要素がnullの場合は失敗します。