從最佳實踐角度和從性能角度來看哪個選項更好?哪個更好? - ViewState中Web控件的局部變量或存儲變量
1
A
回答
5
你需要什麼?
一個變量,它是活着的那一刻起ASPX頁面被創建並開始其生命週期,並且將與頁面實例一旦HTML渲染返回給客戶端進行配置?
或一個變量,將「生存」回發,並被髮送回客戶端與HTML並回到服務器下一次請求頁面?
對於選項#1,你很好,應該在你的頁面類中使用普通變量 - 不需要ViewState。
如果您需要選項#2 - 變量值需要跨回發保存並返回下一個請求 - 那麼只有ViewState作爲選項 - 將其存儲在頁面類中的局部變量中不會。
Marc
2
顯然局部變量是一個更好的選擇。它們只在方法運行時才存在,並且它們在堆棧上創建,所以它們非常便宜。
將ViewState序列化併發送到瀏覽器中的響應中的隱藏字段,並以請求中的表單數據的形式返回到服務器。如果你不需要堅持價值,那完全沒有必要。
(如果你需要堅持的價值,ViewState的是兩者的唯一選擇。局部變量當然不是從一個請求保留到下一次。)如果你需要堅持變量
0
另一種選擇是讓包含頁面爲你做。在用戶控件上創建一個事件,當您的變量需要填充時觸發,然後您的頁面處理該事件。 你可以通過這種方式獲得兩全其美。
0
相關問題
- 1. .NET局部變量存儲在哪裏?
- 2. FORTRAN在哪裏存儲局部變量?
- 3. Web部件存儲持久變量(ViewState/Session?)
- 4. 哪一個更好,在類中聲明全局變量或在Java類中聲明局部變量?
- 5. 在哪裏存儲局部變量? NSKeyedArchiver或NSUserDefaults?
- 6. 哪個更好?創建一個實例變量或在Ruby中傳遞一個局部變量?
- 7. 哪一個更好,一個實例變量或EF上下文的局部變量?
- 8. Python 3如何存儲局部變量?
- 9. 哪一部分在C++可執行文件中存儲全局常量變量?
- 10. 哪個是最好的方法來存儲可變數量的變量?
- 11. 局部變量的全局變量
- 12. 在哪些內存中存在靜態變量,局部變量是否存在?
- 13. 局部函數字符串變量或外部全局變量:哪個更高效?
- 14. 如何更好地存儲變量?
- 15. GCC全局變量存儲
- 16. 將數據存儲在一個變量或多個變量中?
- 17. 變量存儲在哪裏?
- 18. 存儲在內存中的DLL的全局變量在哪裏?
- 19. 哪個更快?常量,變量或變量陣列
- 20. 將控件存儲在變量中
- 21. Java最終局部變量存儲在哪裏?
- 22. 方法局部變量存儲在哪裏?
- 23. rails將實例變量傳遞給佈局或局部變量
- 24. 變量重用 - 哪個更好?
- 25. 在osgi中存儲變量的變量
- 26. 靜態存儲在內存中的全局變量在哪裏?
- 27. Javascript全局變量存儲在哪個對象中?
- 28. JS全局變量到局部變量
- 29. 局部變量
- 30. VBA Excel:存儲在內存中的局部變量?
從我可以理解。在一個WebControl的或在頁面中使用的變量沒有什麼區別?對? – MRB 2009-09-10 06:36:17
這是一樣的,是的 - 無論變量是存在於頁面類本身,還是在Web控件中都基本相同 – 2009-09-10 06:57:47