2010-03-30 56 views
0

早上好,在會話中存儲Gridview搜索結果有什麼建議嗎?

我已經創建了一個ASP.NET 3.5 webform,允許用戶搜索零件清單。兩個文本框控件將輸入參數提供給存儲過程。 gridview從存儲過程返回搜索結果。

我已經增強了gridview,使其包含一個模板字段,其中包含數量的文本框以及gridview頁腳中的按鈕控件,用於將部件(包含數量)添加到報價請求中。

用戶可能會搜索指甲和錘子,選擇一個指甲並輸入25數量,然後選擇一個數量爲1的錘子。這些項目和數量必須保留以用於報價流程。

問題:鑑於我的情況,您是否建議在會話中存儲gridview數量,零件名稱等?如果沒有,保存這些項目以便稍後在報價過程中使用的最佳方法是什麼?

感謝, 希德

回答

1

當顯示在GridView,即要渲染的話,我會繼續在該網頁上的詳細信息。當您離開該頁面繼續訂購過程時,我可能會將它們存儲在會話中,或將它們保存在頁面中的隱藏區域中。

原因是會話在每個頁面請求上都會加載,因此您不希望將會話中的信息保留在所需的最短時間內。

如果用戶使用瀏覽器後退和前進按鈕,使您的應用程序更加複雜,那麼預期的結果是什麼。考慮一下,他們已經添加了指甲,然後是錘子,然後他們點擊後退按鈕,然後添加ammer,然後添加一把螺絲刀。訂單是什麼?釘子,錘子和螺絲刀?或釘子和螺絲刀?因此如果可能的話保持頁面上的數據是好的,因爲如果用戶退後一步,訂單狀態也是如此。儘管如此,您不希望在ViewState擴展太多的頁面上添加太多內容,所以請注意並在不需要的情況下將其關閉。

+0

我想過添加另一個頁面控件,當用戶單擊添加到引用按鈕時會填充該頁面控件。這有兩件事:1)堅持只允許20個部分(訂單項)的業務邏輯。 2)提醒用戶他們已經選擇的項目。 如果我這樣做,作爲一個可見的控件,什麼類型的控件是明智的? – SidC 2010-03-30 18:18:44

1

我沒有看到使用會話的問題,因爲這聽起來不像一個重型應用程序。 您可以做的唯一的其他事情就是使用數據庫並將其作爲臨時行存儲在數據庫中。當你不需要它時,你將不得不擺脫它。

你可以做的唯一的其他事情就是緩存它。

相關問題