2012-09-17 14 views
0

我有一個客戶頁面,用戶可以在其中爲客戶輸入多個位置。我使用telerik ajax網格來顯示位置,並且當添加新位置時,我將它添加到會話並返回到網格。最後,當用戶提交時,客戶和使用customerid作爲參考密鑰的所有位置都被插入。我正在清除會話,當用戶輸入創建/編輯頁面併成功提交或發生任何異常時。問題在於,當用戶爲一個用戶添加位置,然後打開另一個選項卡時,創建另一個用戶,然後爲先前的用戶清除所有位置。由於會話,這個問題正在發生。某些視圖狀態將是頁面特定的。但對於Ajax網格操作,viewdata/viewbag不起作用。關於如何實現這一點的任何想法。提前致謝。在MVC會話中存儲項目的問題

回答

0

將您當前工作的客戶ID存儲在路線值中。

有客戶名單。在列表中有形式的每個客戶的鏈接

/{controller}/{action}/{id} 

/customer/edit/1 

Telerik Controls不幫你在這裏。它更容易從一個簡單的循環開始,呈現視圖中的客戶。

+0

是的我是新來的asp.net mvc。我在webforms中將viewbag/viewdata與viewstate進行了比較。但是我意識到他們不一樣,我們需要每次在MVC中填充它們。我很擅長展示客戶並創建/編輯客戶。這裏的問題是我在頁面上只有一個保存按鈕,並且可以在客戶頁面上添加多個位置。我需要臨時存儲位置,直到點擊保存按鈕。爲此,我使用了會話,但問題在於用戶使用瀏覽器選項卡時。 – Sunny

+0

嘗試通過寫出表單字段數組來保存UI中的位置列表。本文可能會讓你開始http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ –

+0

是的,似乎我可以強烈生成鍵入數組客戶端併發布到頁面(或)使用會話中隨機生成的guid存儲值。 – Sunny