2014-03-31 5 views
0

먼저, .net 개발 (MVC 4) 에 대해 새롭다 고 말하고 싶습니다. 엔티티 프레임 워크 5를 사용하여이 tutorial을 추적하려고합니다. 이 오류가 계속 발생한다 ""System.NullReferenceException "유형의 예외는 jqGridMVC2.dll에서 발생했지만 사용자 코드 에서 처리되지 않았습니다. 추가 정보 : 객체 참조가 객체의 인스턴스로 설정되지 않았습니다 , 전에 NULL 값.동적 jqGrid를 만들 때 오류가 발생했습니다.

if(propInfo.GetValue(this, null) != null) { 
    } 



private static object GetPropertyValue(object obj, string property) 
    { 
     System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property); 

    // if (obj != null) 
    //  if (propertyInfo.GetValue(obj, null) != null) 
      return propertyInfo.GetValue(obj, null); 

    // return 0; 
    } 



at jqGridMVC2.Extensions.GridExtension.GetPropertyValue(Object obj, String property) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 70 
    at jqGridMVC2.Extensions.GridExtension.<>c__DisplayClass4`1.<AsJqGridResult>b__2(T item) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 38 
    at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count) 
    at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count) 
    at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext() 
    at System.Linq.Enumerable.<SkipIterator>d__4d`1.MoveNext() 
    at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext() 
    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 jqGridMVC2.Extensions.GridExtension.AsJqGridResult[T](IQueryable`1 source, String column, String sortOrder, Int32 page, Int32 pageSize) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 41 
    at jqGridMVC2.Controllers.HomeController.DynamicGridData(String sidx, String sord, Int32 page, Int32 rows) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Controllers\HomeController.cs:line 30 
    at lambda_method(Closure , 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.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() 
    at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) 
    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() 
    at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 
    at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() 
    at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() 

이 문제를 해결하십시오. 미리 감사드립니다.

답변

0

난 그냥이

private static object GetPropertyValue(object obj, string property) 
{ 
    foreach (var property1 in obj.GetType().GetProperties()) { 
     return property1.GetValue(obj, null); //throws exception TargetParameterCountException for String type 
    } 
    return 0; 
} 
하여 오류를 해결
관련 문제