當處理用戶必須經過的表單集合時,創建該表單的新實例時傳遞數據還是更好,還是從前一個表單調用函數更好?我寫了一些編寫代碼來調用前面的例程,它看起來很醜,我不能完全想到這樣做的原因。我能想出的唯一原因是數據量很大,並且很有可能用戶不會在特殊情況下使用數據。如何將變量從表單傳遞到表單?
回答
如果你把你的所有共享數據的類,然後傳遞給類給每個窗體上構造的一個實例的引用,那麼它並不重要的數據有多大,因爲它僅僅是一種參考每次都通過。
這樣做的好處是您的表單不會彼此綁在一起。
這是大部分的主觀問題。我個人採取了一條似乎更容易維護的路線,以供將來不得不處理我的代碼的人使用。我將實例化窗體,使用我試圖傳遞的任何內容加載公共屬性,然後使窗體可見。這樣,編輯「新」表單的任何人都知道所有數據都已預先加載。任何編輯「舊」表單的人都知道在哪裏加載任何新的屬性。
如果新表單將立即需要數據,那麼最好在此表單的構造函數中傳遞它。
使用一種新的形式,你可以從表格上其他使用Server.Transfer的值傳遞 你可以在這裏讀到的Server.Transfer:http://www.dotnet-guide.com/servertransfer.html
可能您存儲所有的數據的全局數據變量。每個表單可以獨立訪問它。如果您有多線程實現,則可以簡單地在全局數據變量的訪問器上添加線程安全性。
我通常使用的兩個主要選項是將信息存儲在數據庫中,例如SQLServer或MS-Access,如果有許多表單將使用的信息,或者信息只用於下一個表格我會將這些信息傳遞給該表格,然後根據需要進行存儲。即如果它創建了一個數據表作爲數據源,將信息存儲在一個隱藏字段中,或者甚至將信息放入文本框,標籤,組合框等中,這些信息在加載時需要加入。
,如果你正在談論的WinForms(不是web表單),那麼你應該使用一個static class。使用靜態成員來保存上下文對象的引用(或者您計劃與其他表單共享的任何內容)。所有靜態成員保證在第一次使用之前被初始化。
一個類似的替代方法是使用單例設計模式創建一個singleton class。
實際上,這兩種解決方案只是使全局訪問單個引用成爲可能,這是一種有時可能會被過度使用的功能......要小心。
- 1. 將值從表單傳遞到表單
- 2. 從訪問表單傳遞變量到訪問表單
- 3. Codeigniter:將表單變量傳遞給URI
- 4. 如何將變量從HTML表單傳遞給perl cgi腳本?
- 5. 如何將變量從html表單傳遞給.js文件?
- 6. 將值從表單傳遞到報表
- 7. ASP.NET將變量從Web表單傳遞到代碼後面
- 8. 將變量從HTML表單傳遞到Perl腳本
- 9. 使用表單提交將變量從HTML傳遞到PHP
- 10. 從android應用程序將變量傳遞到php web表單
- 11. 如何將變量值從JS傳遞到PHP(不通過表單)
- 12. 將文本從表單傳遞到URL
- 13. 如何將表單變量傳遞給URL
- 14. ZF2如何將變量傳遞給表單
- 15. 如何將類中定義的變量傳遞給Rails表單?
- 16. 如何將鏈接中的變量傳遞給表單?
- 17. 將數據從一個表單傳遞到另一個表單
- 18. 如何變量傳遞到HTML表單的頁面上
- 19. 將變量傳遞給不同的表單/單元
- 20. 簡單搜索:將表單變量傳遞給URI使用CodeIgniter
- 21. 通過jquery傳遞表單變量.post
- 22. 傳遞額外變量的PHP表單
- 23. 表單提交後傳遞變量
- 24. 通過表單傳遞多個變量
- 25. PHP通過表單傳遞變量
- 26. php表單不通過變量傳遞?
- 27. 將表單變量傳遞到一個URL與PHP
- 28. 將JavaScript元素ID傳遞到PHP或表單變量
- 29. 將自變量傳遞給自定義SharePoint列表表單
- 30. 如何在變量處理之前將變量傳遞給表單
這是最好的答案。如果你想在表單,邏輯和數據之間進行更多的分離,請檢查MVC模式。 – 2009-05-27 12:41:08