簡體   English   中英

ASP.NET到HTML5 localStorage

[英]ASP.NET to HTML5 localStorage

在ASP.NET(Web表單)中,我從SQL數據庫中檢索一組鍵/值對,以用於DropDownList。 該列表非常大(可以輸入2000多個條目),並且在網站上的許多頁面上使用了多次,並且我一直在研究在本地客戶端上緩存這組數據以減少帶寬的方法。 該列表不會經常更改,因此擁有一周或更長時間的緩存副本應該沒問題。

我想知道使用HTML5本地存儲存儲此列表並從客戶端存儲填充DropDownList是否完全可行和/或可行。 如果在本地找不到數據,則繼續在數據庫中查詢列表。

如果在選擇框中有2000多個條目,則無論如何都不會發出任何聲音。

看一下類似Select2的東西。 特別是“加載遠程數據”示例。

http://ivaynberg.github.io/select2/

我參與編寫了一些應用程序,這些應用程序定期來回推送數據,我們在Javascript中構建了一個API對象,以處理應要求從服務器提取的數據。

API模塊請求數據並根據其成功狀態采取措施。 如果您覺得可能需要擴展稍后返回的數據類型,則可以構建一個簡單的API模塊來使用,或者僅構建一個AJAX調用來提取下拉列表中的數據。

API接口的示例如下:

/** 
 * Parameter 1, string - Command Name for the server to interpret 
 * Parameter 2, object - Data that should be passed to the server (if necessary)
 * Parameter 3, string - the HTTP method to use: 'GET', 'POST', 'PUT' etc.
 * Parameter 4, function - the callback to fire once the response is received.
**/
api('CommandName', { key: 'value' }, 'METHOD', function(response) {
    if(response.success) {
         //Store data in localStorage here
    }
});

如上所述,您在網站的整個頁面上多次使用數據。 因此,在JavaScript中,您將編寫負載檢查,以確定數據是否已存儲在localStorage中,如果沒有,則調用API進行填充。 這將確保客戶端始終具有可用的數據。 可以這樣完成:

//On Load
if(!localStorage.dropdown) {
    api('CommandName', { key: 'value' }, 'METHOD', function(response) {
        if(response.success) {
            localStorage.dropdown = response.data;
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM