【问题标题】:Not able to take Value for json in MVC 5 Application无法在 MVC 5 应用程序中获取 json 的值
【发布时间】:2014-09-15 11:21:12
【问题描述】:
public ActionResult DyGridData(string id, string sord, int page, int rows) {
    EmployeeContext context = new EmployeeContext();
    int pageIndex = Convert.ToInt32(page) - 1;
    int pageSize = rows;
    int totalRecords = context.Employees.Count();
    int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);

    var employees = context.Employees.OrderBy(p=>p.EmployeeId).Skip(pageIndex * pageSize).Take(pageSize);

    var jsonData = new {
        total = totalPages,
        page,
        records = totalRecords,
        rows = ( from employee in employees
            select new   { i=employee.EmployeeId ,
                           cell = new string[]
               { employee.Name, employee.Age.ToString(),employee.Salary.ToString(),employee.Department,employee.City }
            }).ToArray()
    };

    return Json(jsonData, JsonRequestBehavior.AllowGet);         
}

在这里,如果我应用 .ToArray() ,我会在单元格中识别出异常,如果没有,则不会获得单元格的值并获得剩余的值。

例外是:

EntityFramework.SqlServer.dll 中出现“System.Reflection.TargetInvocationException”类型的异常,但未在用户代码中处理

附加信息:调用目标已抛出异常。

【问题讨论】:

  • 抱歉,我应用的行中不在单元格中 .toarray()
  • 只是猜测,但听起来您的 EntityFramework 配置有问题。如果您在方法顶部调试并尝试 context.Employees.ToList() ,它会执行还是抛出异常?如果这也引发异常,我将开始深入研究 EntityFramework 配置。

标签: c# jquery json entity-framework asp.net-mvc-5


【解决方案1】:

尝试通过在语句末尾添加ToArray首先执行查询。

var employees = context.Employees
   .OrderBy(p=>p.EmployeeId)
   .Skip(pageIndex * pageSize)
   .Take(pageSize)
   .ToArray(); // Add this.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 2013-09-27
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多