【发布时间】:2022-06-24 00:27:58
【问题描述】:
我正在迁移一个应用程序,该应用程序在详细信息视图中具有“上一个”/“下一个”按钮以在记录之间导航。要在其间导航的记录可能已在“索引”视图中过滤。例如,记录 1-5 可能最初都显示在索引视图中。然后用户过滤记录,只显示记录 1、3 和 5。当用户转到记录 3 的详细信息视图时,单击“上一个”按钮导航到记录 1。单击“下一步”按钮导航到记录 5。
在旧的解决方案中,存储过程用于过滤、排序和分页。返回过滤/未过滤记录的返回模型,它是视图模型的一部分。这就是访问过滤后的记录 ID 以在记录之间导航的方式。
在新的解决方案中,由于存储过程使用临时表,POCO 生成器不会生成返回模型,因此没有使用存储过程。我尝试将 fmtonly 设置为关闭,但它不起作用,并且我读到 fmtonly 已被弃用。
取而代之的是,使用 jQuery serverSide 数据表和 C# 中的 Linq。
目前,我可以使用以下方法在所有记录之间导航:
ViewBag.PreviousId = _db.Applications
.OrderByDescending(a => a.AppNumber)
.Where(a => a.AppNumber < application.AppNumber)
.Select(a => a.Id).FirstOrDefault();
ViewBag.NextId = _db.Applications
.OrderBy(a => a.AppNumber)
.Where(a => a.AppNumber > application.AppNumber)
.Select(a => a.Id)
.FirstOrDefault();
如何在过滤后的记录之间导航?
【问题讨论】:
标签: c# jquery linq stored-procedures datatables