gpt4 book ai didi

asp.net - 无法返回 JsonResult

转载 作者:行者123 更新时间:2023-12-02 16:35:27 29 4
gpt4 key购买 nike

以下查询成功运行。

var tabs = (
from r in db.TabMasters
orderby r.colID
select new { r.colID, r.FirstName, r.LastName })
.Skip(rows * (page - 1)).Take(rows);

现在我想像这样返回 JsonResult

var jsonData = new
{
total = (int)Math.Ceiling((float)totalRecords / (float)rows),
page = page,
records = totalRecords,
rows = (from r in tabs
select new { id = r.colID, cell = new string[] { r.FirstName, r.LastName } }).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);

但是它会给我一个错误,例如:数组类型“System.String[]”无法在查询结果中初始化。考虑使用“System.Collections.Generic.List`1[System.String]”。

我应该怎样做才能得到预期的结果?

最佳答案

我怀疑这就像使用 AsEnumerable() 将最后一部分插入进程内查询一样简单:

var jsonData = new
{
total = (int)Math.Ceiling((float)totalRecords / (float)rows),
page = page,
records = totalRecords,
rows = (from r in tabs.AsEnumerable()
select new { id = r.colID,
cell = new[] { r.FirstName, r.LastName } }
).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);

为了清楚起见,您可能希望从匿名类型初始值设定项中提取该查询:

var rows = tabs.AsEnumerable()
.Select(r => new { id = r.colID,
cell = new[] { r.FirstName, r.LastName })
.ToArray();

var jsonData = new {
total = (int)Math.Ceiling((float)totalRecords / (float)rows),
page,
records = totalRecords,
rows
};

关于asp.net - 无法返回 JsonResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6435520/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com