Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带take和skip的LINQ连接_C#_Jquery_Asp.net_Linq - Fatal编程技术网

C# 带take和skip的LINQ连接

C# 带take和skip的LINQ连接,c#,jquery,asp.net,linq,C#,Jquery,Asp.net,Linq,我正在尝试使用ASP MVC和jquery datatables API生成员工DTR 这是我的控制器代码: 看法 @Html.DropDownListPeriodID,选择。。。 @Html.DropDownListSelectedEmpID,选择。。。 埃皮德 LastNm 洛格特 登录 注销 职级 转移 埃皮德 LastNm 洛格特 登录 注销 职级 转移 @节脚本{ 函数重新初始化DataTable{ $'datatable'。datatable{ 观察家方面:是的, sAjaxSou

我正在尝试使用ASP MVC和jquery datatables API生成员工DTR

这是我的控制器代码:

看法

@Html.DropDownListPeriodID,选择。。。 @Html.DropDownListSelectedEmpID,选择。。。 埃皮德 LastNm 洛格特 登录 注销 职级 转移 埃皮德 LastNm 洛格特 登录 注销 职级 转移 @节脚本{ 函数重新初始化DataTable{ $'datatable'。datatable{ 观察家方面:是的, sAjaxSource:'@Url.ActionajaxHandler,datatablesDTR', b处理:对, bDestroy:true,//为避免重新初始化时出错 AO列:[ {sName:EmpID}, {sName:LastNm}, {sName:LogDT}, {sName:LogIn}, {sName:LogOut}, {sName:JobGradeDesc}, {sName:ShftNm} ], //推送发送附加参数数据:d fnServerParams:函数aoData{ aoData.push {name:CustomParam_PeriodID,值:$'PeriodID'.val}, {name:CustomParam_EmpID,值:$'SelectedEmpID'.val} ; }, }; } $document.readyfunction{ //在下拉列表中添加所有选项 $.valall.textall之前的$SelectedEmpID option.eq1; //周期ID更改事件 $function{ $PeriodID.changefunction{ 如果$'SelectedEmpID'.val{ 重新初始化数据表; }否则{ $'SelectedEmpID'.prop'disabled',!$'PeriodID'.val; } }; }; $function{ $SelectedEmpID.changefunction{ 重新初始化数据表; }; }; }
}您好,可能是因为此异常而发布堆栈跟踪。@SelvaTS收到的错误如下:方法“Skip”仅支持LINQ to实体中的排序输入。方法“OrderBy”必须在方法“Skip”之前调用,问题已解决!我加了一句。在跳过和拿走之前,按医嘱。
public ActionResult ajaxHandler(jQueryDataTableParamModel param)
    {
        var PeriodDates = db.tTAPeriods.Single(x => x.PeriodID == param.CustomParam_PeriodID);


         IEnumerable<DatatablesViewModel> viewmodel = (from a in db.tHREmployees
                  join b in db.tTADTRs on a.EmpID equals b.EmpID
                  join c in db.tHRJobGrades on a.JobGrdID equals c.JobGrdID
                  join d in db.tTAShifts on b.ShftID equals d.ShftID
                  where (b.LogDt >= PeriodDates.FromDt && b.LogDt <= PeriodDates.ToDt)
                  select new DatatablesViewModel { 
                      EmpID = a.EmpID, 
                      LastNm = a.LastNm, 
                      LogDT = b.LogDt, 
                      LogIn = b.LogIn, 
                      LogOut = b.LogOut, 
                      JobGradeDesc = c.JobGrdDesc, 
                      ShftNm = d.ShftNm 
                  });

        //IF USER SELECTED ALL
         if (param.CustomParam_EmpID != "all")
         {
             viewmodel = viewmodel.Where(x => x.EmpID == param.CustomParam_EmpID);
         }

        //SELECT PAGE FILDTER
         var rslt = from x in viewmodel.Skip(param.iDisplayStart).Take(param.iDisplayLength)
                    select new string[] {
                        x.EmpID,x.LastNm,
                        x.LogDT.ToShortDateString(),
                        x.LogIn.ToString(),
                        x.LogOut.ToString(),
                        x.JobGradeDesc,x.ShftNm
                    };




        return Json(new
        {
            sEcho = param.sEcho,
            iTotalRecords = viewmodel.Count(),
            iTotalDisplayRecords = viewmodel.Count(),
            aaData = rslt.ToArray()
        },
     JsonRequestBehavior.AllowGet);


    }