0

当我尝试对 JQGrid 值进行排序时,用户代码异常未处理 NullReferenceException。

     public ActionResult GetSearch(string sidx, string sord, int page, int rows)
            {
                if (sidx != "")
                {
//In the Session["ResourceSearch"] I have loaded the values
    DataContractClass[] SortResult = Session["ResourceSearch"] as DataContractClass[];
    //Sort the JQGrid value from input 'sidx'                
        SortResult = SortResult.OrderBy(p => p.GetType().GetProperty(sidx).GetValue(p, null)).ToArray() as DataContractClass[];
    //Load data here
                }
            }

在此处输入图像描述

只有将 int 属性作为 . 的输入时,我才会遇到问题sidx。但如果任何字符串属性都sidx没有问题。我能够对数据进行排序。

4

1 回答 1

2

任何一个:

  • p在 lambda 中为空
  • 没有名称与所表示的类型完全相同(即大小写匹配)的公共实例属性sidxp

我的猜测是第二种。

检查是否确实存在一个名称等于sidx抛出此异常时的任何值的公共属性。顺便说一句 - 这基本上就是消息框中的第二个帮助字符串告诉你要做的事情。

于 2012-12-12T11:32:30.293 回答