方法的类型参数…无法从用法中推断出来

问题描述 投票:0回答:2

当我尝试在 Asp.Net MVC 中创建服务器端数据表时遇到问题 代码如下:

[HttpPost]
        public ActionResult CustomerList()
        {
            var draw = Request.Form.GetValues("draw").FirstOrDefault();
            var start = Request.Form.GetValues("start").FirstOrDefault();
            var length = Request.Form.GetValues("length").FirstOrDefault();
            var sortColumn = Request.Form.GetValues("columns[" +
            Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
            int pageSize = length != null ? Convert.ToInt32(length) : 0;
            int skip = start != null ? Convert.ToInt32(start) : 0;
            int totalRecords = 0;

            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                var resultData = (from cust in db.Customers
                                      //orderby sortColumn
                                  select cust);



                //Sorting
                if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
                {
                    resultData = resultData.OrderBy(sortColumn + " " + sortColumnDir); // Here is failing (OrderBy)
                }
                totalRecords = resultData.Count();
                var data = resultData.Skip(skip).Take(pageSize).ToList();
                return Json(new
                {
                    draw = draw,
                    recordsFiltered = totalRecords,
                    recordsTotal = totalRecords,
                    data = data
                }, JsonRequestBehavior.AllowGet);
            }
        }

问题就在这一行:

resultData = resultData.OrderBy(sortColumn + " " + sortColumnDir);

错误:

CS0411  The type arguments for method 'Queryable.OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>)' cannot be inferred from the usage. Try specifying the type arguments explicitly

提前谢谢你们!

asp.net-mvc datatables
2个回答
0
投票

我解决了..我添加了命名空间:using System.Linq.Dynamic;并在问题行的 is 中添加了 Tolist():


0
投票

第一个秋天,您需要安装 NuGet Package Manager(转到项目文件夹并右键单击找到它 NuGet Package Manager),然后安装它

System.Linq.Dynamic.Core

这个包用于我们在 SQL 查询中订购的订单数据。

然后在顶部命名空间上声明名称

using System.Linq.Dynamic.Core; 
© www.soinside.com 2019 - 2024. All rights reserved.