2016-12-05 53 views
0

讓我們想象一下這樣的情況:存儲從Viewbag內容到本地的jQuery數組或對象

我有一個ViewBag動態對象基本上是一個列表並祝一些結果;

方案1:

  1. 用戶1進來並且填充ViewBag.Products具有50級裏面的物品的列表對象;

方案2:

  • 用戶2進來並填充ViewBag.Products用的,它們比以前50米的人的用戶的不同50個NEW項目的列表對象1.
  • 現在,當兩個用戶得到的結果顯示到他們的頁面,它位於/分析/索引< - 視圖

    我幫助他們,使他們能夠通過一定的財產梳理該名單交流姑娘位於物體內部是這樣的:

    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數組對本地瀏覽器中的每個用戶都是本地的,並且不會混合數據...

    你們明白我在這裏想達到什麼嗎?

    如果我的英語不好,我很抱歉,我盡力解釋我的問題。

    編輯:這裏是我想要達到

    基本上我有,用戶進行基於特定關鍵字的檢索易趣物品形式更多的數據。在通過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中從而對數據進行排序在多個用戶執行搜索時沒有數據丟失。

    +0

    你的英語基本上很好。不過,你能否詳細解釋一下你想要達到的目標? – ic3man7019

    +0

    @ ic3man7019 ty。是的......我將編輯我最初的問題 – User987

    +0

    @ ic3man7019我編輯了我的第一個問題的更多細節,這是否有幫助? :) – User987

    回答

    1

    P.S. 「lista」列表被聲明爲靜態,是什麼導致了這個問題?

    是的。那就是問題所在。

    您幾乎從不在網站中使用靜態變量,因爲這些變量最終將在所有用戶之間共享。

    +0

    好吧,我現在明白了 - 我會記住這一點。 當我做一個公共靜態列表 lista {get; set;} - 當我需要使用它時,它可以在整個類/控制器中使用... 但是,還有什麼其他方式在類中有1個屬性跨班/控制器以多種方式提供? – User987

    +0

    實例變量,a.k.a. [Fields](https://msdn.microsoft.com/en-us/library/ms173118(v = vs.80).aspx)。 –

    相關問題