gpt4 book ai didi

c# - 在不实际保存的情况下编辑 MVC 中的部分对象

转载 作者:行者123 更新时间:2023-11-30 23:13:00 24 4
gpt4 key购买 nike

我的标题可能很糟糕,因为我在表达我想做的事情时遇到了麻烦。

我有一个可能包含大量记录的对象,看起来像这样:

public class AssignmentGenerator : BaseGenerator
{
public bool IsLibrary { get; set; } = false;
public List<LineItem> LineItems { get; set; } = new List<LineItem>();
}

public class LineItem
{
public string Name { get; set; }
public string Value { get; set; }
}

我创建了一个允许编辑对象值的表单,但行项目列表可能会变得非常大(我的一个示例是 ~ 3000)。在这种情况下,我想让行项目列表成为我 View 中的分页列表,允许一次编辑 10 到 50 个项目。
我已经阅读了很多关于如何进行分页的教程和帖子,但我发现没有一个涉及如何编辑大量数据。在用户实际单击“保存”按钮之前,我不想将每个页面上的更改保存到数据库中。有没有办法将值存储在对象中,根据需要检索它们,然后在用户操作时保存?

最佳答案

简短的回答是肯定的,有一种方法 - 你是程序员,你可以做你想做的事。如果没有更多细节,很难给出真实的代码示例,因此下面只是模糊的指导。

您必须将它们的更改存储在某处,但您可以选择将它们保存在暂存数据库中,或者将您的 AssignmentGenerator 保存在服务器的内存中,并在它们分页时更新集合(假设 1服务器或固定 session )。

您必须在用户更改页面时发布对象的当前状态(而不仅仅是 Get 端点)。您不必保存到真实数据库;您只需更新您的临时副本。 Save 按钮应该触发一个不同的 Controller 操作,将您的临时副本移动到真实数据存储。

关于c# - 在不实际保存的情况下编辑 MVC 中的部分对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808995/

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