在.net Core中获取一个模型/对象以用于局部视图

本文关键字:对象 模型 用于局 视图 一个 Core net 获取 | 更新日期: 2023-09-27 18:15:20

我正在编写一个。net Core应用程序,从大约3周前开始,我已经很好地掌握了它。

我可以使用实体框架(EF)访问在线数据库。我有4个控制器控制4种不同类型的视图类别(每个类别包含5个视图(索引,删除,创建,编辑和详细信息))。每个控制器都在其索引方法中创建PaginatedList,其中包含我在程序中拥有的4种模型类型中的任何一种。这用于根据不同的属性对列表中的项进行排序。

<标题> PaginatedList.cs h1> 于PaginatedList的想法是,我的数据库将随着时间的推移而增长,我想限制显示的项的数量。

我实现了一小段代码,用类"success&quot标记表中的选定项。一旦出现这种情况,我想要抓取被选中的项目并将其传递给PartialView,以便我可以显示其属性,但由于使用PaginatedList作为模型,我很难访问我想要的项目。我希望这里有人能解决这个问题?

下面的部分是我试图传递我的用户到我的PartialView:

UserController索引方法

public async Task<IActionResult> Index(
        int? page,
        int? id)
{
    ....
    if (id != null)
    {
        ViewData["UserID"] = id.Value;
    } 
    ....
    var users = from u in _context.Users select u;
    return View(await PaginatedList<User>.CreateAsync(users.AsNoTracking(), page ?? 1, pageSize));
}
<标题>用户Index.cshtml h1> PaginatedList是"模型"。在上面的代码片段中,如前所述,所以要么我必须添加我的DbContext(不知道是否可能),并使用elementID,我应该获取用户,或者我必须拿出一个不同的方式来获取用户。不过,PaginatedList能够根据不同的标准对项目进行排序,因此这些项目不会按时间顺序出现。例如
1, 2, 3, 4, 5

而是
2, 1, 5, 4, 3

我希望这里有人能解决我的问题。

在.net Core中获取一个模型/对象以用于局部视图

我像个疯子一样在谷歌上搜索了一下,找到了解决办法。不完全是这样,但下面这行似乎是我的救星:

var user = Model.FirstOrDefault(u => u.UserID == elementID);