gpt4 book ai didi

javascript - 将 Viewbag 中的内容存储到本地 jquery 数组或对象中

转载 作者:行者123 更新时间:2023-12-03 05:30:09 25 4
gpt4 key购买 nike

让我们想象这样的情况:

我有一个 ViewBag 动态对象,它基本上是一个带有一些结果的列表填充;

场景 1:

  1. 用户 1 进入并在 ViewBag.Products 对象中填充 50 个项目的列表;

场景 2:

  • 用户 2 进入并使用包含 50 个新商品的列表填充 ViewBag.Products 对象,这些商品与用户 1 之前的 50 个商品不同。
  • 现在,当两个用户将显示的结果显示到其页面上时,该页面位于/Analyze/Index <- view

    我启用它们,以便它们可以通过位于对象内部的类的某个属性来整理该列表,如下所示:

    public JsonResult GetSortedBySales()
    {
    var list = lista.OrderByDescending(x => x.SaleNumber).ToList();
    return Json(list, JsonRequestBehavior.AllowGet);
    }
    public JsonResult GetSortedByFeedback()
    {
    var list = lista.OrderByDescending(x => x.Feedback).ToList();
    return Json(list, JsonRequestBehavior.AllowGet);
    }

    如您所见,这会产生如下问题:

    最后一个将自己的项目添加到列表中的用户是用户 1 尝试整理列表时将显示的项目,因为列表现在已填充了用户 #2 的项目...

    列表中充满了来自 eBay API 的项目,因此我无法保证每个用户数据的完整性和唯一性...

    我想我能在这里做什么?我可以以某种方式将列表中的这些项目存储到本地 jquery 数组中,然后从该本地数组执行排序,以便每个 jquery 数组对于浏览器中的每个用户来说都是本地的,并且不会进行数据混合...

    你们明白我在这里想要实现的目标吗?

    如果我的英语不好,我深表歉意,我已尽力解释我遇到的问题。

    编辑:这里有更多关于我想要实现的目标的数据

    基本上,我有一个表单,用户可以根据某个关键字对 eBay 商品进行搜索。通过 http 请求搜索后,我向他们显示结果,他们可以选择表中的所有产品,然后对这些选定的产品进行分析。

    然后,它们会被转移到另一个包含分析数据的页面,并在名为“lista”的列表对象中向它们显示结果。

    “lista”列表总是根据用户通过我上面刚刚解释的过程在页面上搜索的内容以不同的方式填充。

    因此,“lista”对象始终填充新数据,并且当用户对列表“lista”中的数据进行排序时,如果 2 个用户执行数据分析(如我解释的场景 1 和 2),它们的显示方式始终会有所不同如上所述。

    这有帮助吗?

    编辑2:

    这是我所指内容的图形解释

    第 1 步:

    enter image description here

    第 2 步:

    enter image description here

    附注“lista”列表被声明为静态,这就是导致问题的原因吗?

    再次编辑:

    好吧,伙计们,我找到了一种方法,可以使数据在排序时不会更改。我没有执行 jQuery 帖子,而是根据添加到表 tr 中的两个额外属性(销售和反馈)对数据进行排序,然后按如下方式对其进行排序:

    $(".feedbackClick").click(function() {
    var $wrapper = $('#tableSellers');

    $wrapper.find('.test').sort(function(a, b) {
    return +$(b).attr('feedback') - +$(a).attr('feedback');
    }).appendTo($wrapper);
    });

    这会在 jQuery 本地对数据进行排序,因此当多个用户执行搜索时不会丢失数据。

    最佳答案

    P.S. the "lista" list is declared as static, is that what's causing the issue?

    是的。这就是问题所在。

    您几乎不应该在网站中使用静态变量,因为这些变量最终将在所有用户之间共享。

    关于javascript - 将 Viewbag 中的内容存储到本地 jquery 数组或对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40978481/

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