2012-08-10 140 views
0
for (i = 0; i < query.length; i++) { 
    sessionStorage.setItem("key", JSON.stringify(query[i].id)); 
    alert(sessionStorage.getItem("key")); 
} 

在上面的for循環中,我將id值放在會話存儲中,我面對的問題是,如果循環執行多次,那麼在sessionStorage中最後的值只是存儲和加載我的最後一個記錄只有該值。將多個ID從一個視圖傳遞到另一個視圖

但我想爲每個迭代我想檢索id值和所有值我必須顯示所有記錄。

該怎麼辦?

回答

0

這是因爲您使用的是相同的密鑰key。您可以直接字符串化整個對象,而無需編寫任何循環:在其他網頁上

sessionStorage.setItem('key', JSON.stringify(query)); 

現在:

var query = $.parseJSON(sessionStorage.getItem('key')); 

// directly access an element given its index 
alert(query[0].id); 

// or loop: 
for (var i = 0; i < query.length; i++) { 
    alert(query[i].id); 
} 
0
var z=0; 
for (i = 0; i < query.length; i++) { 
    z=z+1; 
    sessionStorage.setItem("key"+(Z), JSON.stringify(query[i].id)); 
} 
sessionStorage.setItem("keyResord", JSON.stringify(z)); 

for(i=0;i<sessionStorage.getItem("keyResord");i++) 
{ 
    alert(sessionStorage.getItem("key")); 
} 

可能它會爲你工作,它的工作在我結束

0

甚至更​​簡單:爲什麼不使用已經內置的結構和組件? 在發送頁面:

TempData["<your key>"] = JSON.stringify(query) 

在接收頁:

var yourVariable = TempData["Key"] 
// at this point @yourVariable on receiving page has the same value as stringified query bu JSON 

// as Darin mentioned you access elements like this: 
alert(@yourVariable[<your index>].id); 
相關問題