2009-12-28 63 views
1

什麼是存儲與動態控制數據的最佳選擇。這是我的場景。動態控件狀態管理 - 視圖狀態Vs的數據庫

  1. 在任何時間大約5到15個主表從中檢索。
  2. 動態控件可以是TextBox,DropDownList,ListBox,GridView類型。
  3. 碩士是不會改變的回傳,但頁面將在同一會話招致許多回發。
  4. 我使用SQLServer的2005和.NET 2.0

作爲有經驗的用戶,你建議從數據庫填補這些控制項目或允許每個控件的視圖狀態,以保持項目列表?我從更快的性能角度來看待這個問題。另外,請您提供您的建議的理由。

任何其他建議也歡迎。讓我知道,因爲你需要更多的信息。

感謝 - 拉賈

回答

1

這取決於。正如Aaron提到的那樣,您在視圖中存儲的所有內容都必須從客戶端上傳回服務器。對於int er網站,這通常會使viewstate成爲存儲表格數據的難以置信的地方。對於int ra網站,其中客戶端可能有100Mbs的上傳帶寬,這並不是什麼大不了的事情,Viewstate可能是一個更好的地方;如果數據庫查詢重新構建這些數據的成本很高,那麼情況尤其如此。

也就是說,很多Intranet站點最終都會移植到支持家庭工作者,並突然發現自己在互聯網環境中工作,因此您可能仍然想要保持類似Internet性能的限制。在這種情況下,如果您的數據庫查詢最終成爲瓶頸,您可能會考慮索引/實例化視圖,甚至是單獨的表,您可以暫時插入這些數據以便快速檢索,以幫助加快速度。

0

在你的情況,我肯定會打的數據的數據庫,而不是任何表格數據存儲在ViewState。存儲在ViewState中的所有內容都會在每次回發時從客戶端發送回服務器。它未加密,使用,重新加密,然後發回,這比查詢數據庫成本高得多。

喜歡的ID和諸如此類的小東西很不錯的ViewState中存儲,而不是整個數據表。