Asp.net mvc 4 创建动态jqGrid ASP.net MVC 4时出错

Asp.net mvc 4 创建动态jqGrid ASP.net MVC 4时出错,asp.net-mvc-4,jqgrid,Asp.net Mvc 4,Jqgrid,首先,我想告诉大家,我是.net开发(MVC4)的新手 我正试图通过entity framework 5实现这一点,但我不断收到以下错误“jqGridMVC2.dll中发生了类型为“System.NullReferenceException”的异常,但未在用户代码中处理 其他信息:对象引用未设置为对象的实例。 ,即使我以前试图将值设为null if(propInfo.GetValue(this, null) != null) { } private static object G

首先,我想告诉大家,我是.net开发(MVC4)的新手 我正试图通过entity framework 5实现这一点,但我不断收到以下错误“jqGridMVC2.dll中发生了类型为“System.NullReferenceException”的异常,但未在用户代码中处理 其他信息:对象引用未设置为对象的实例。 ,即使我以前试图将值设为null

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()
if(propInfo.GetValue(this,null)!=null){
}
私有静态对象GetPropertyValue(对象对象对象,字符串属性)
{
System.Reflection.PropertyInfo PropertyInfo=obj.GetType().GetProperty(属性);
//如果(obj!=null)
//if(propertyInfo.GetValue(obj,null)!=null)
返回propertyInfo.GetValue(obj,null);
//返回0;
}
在c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\GridExtension\Grid\GridExtension.GetPropertyValue(对象对象对象,字符串属性)中的jqGridMVC2.Extensions.GridExtension.GetPropertyValue处:第70行
在jqGridMVC2.Extensions.GridExtension.c__中,在c:\Users\aal\Documents\visualstudio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs中显示class4`1.b__u2(T项):第38行
at System.Linq.EnumerableSorter`2.ComputeKeys(远程通讯[]元素,Int32计数)
在System.Linq.EnumerableSorter`1.Sort处(TElement[]元素,Int32计数)
在System.Linq.OrderedEnumerable`1.d_u0.MoveNext()中
在System.Linq.Enumerable.d__4d`1.MoveNext()中
在System.Linq.Enumerable.d_u3a`1.MoveNext()中
在System.Linq.Enumerable.WhereSelectEnumerableInterator`2.MoveNext()中
在System.Linq.Buffer`1..ctor处(IEnumerable`1源)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1源)
在c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqgridextension\jqGridMVC2\Extensions\Grid\GridExtension.cs第41行中的jqGridMVC2.Extensions.GridExtension.AsJqGridResult[T](IQueryable`1 source,String column,String sortOrder,Int32 page,Int32 pageSize)
在c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Controllers\HomeController.DynamicGridData(字符串sidx、字符串sord、Int32页、Int32行)中
在lambda_方法中(闭包、控制器基、对象[])
位于System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object[]参数)
位于System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary`2参数)
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor,IDictionary`2参数)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass42.b__41()中
在System.Web.Mvc.Async.AsyncResultRapper.c_uuu显示类8`1.b_uuu7(IAsyncResult)
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_uuDisplayClass37.c_uuDisplayClass39.b_u33()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass4f.b__49()中
请帮我解决这个问题
提前谢谢。

我只是通过这个解决了这个错误

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;
}