通過拖放到窗體中創建控件(圖片框,按鈕,文本框等)與在代碼中動態創建控件之間的性能,內存使用等方面是否存在差異爲C#或C + +的ASP.NET?親們喜歡哪種方法?動態創建控件vs拖放
回答
通常,專業人士通過編寫代碼來設計表單。但是在運行時或編譯時所需的控制實際上取決於情況或需要。因此,在這兩種方法之間沒有任何性能方面。
通常初學者應該通過在表單上對控件進行拖放和放置來設計表單,並且應該觀察生成的代碼。
我喜歡所有的答案。但是這個你說的「並且應該觀察生成的代碼」。我需要同時使用拖放和手動創建控件。通過查看「生成的代碼」,我能夠理解如何...... – user523234 2011-04-21 14:12:35
Visual Studio中的「拖放」只是爲您創建代碼。由此產生的可執行文件是由代碼構建而成的,編譯器不關心代碼是由您個人,Visual Studio還是由受過訓練的猴子編寫的。
是的,Visual Studio中的圖形設計師可能會向HTML/ASP元素添加額外的屬性,而這些屬性是您自己不會添加的,但我懷疑它會對w.r.t產生可衡量的差異。性能。
有經驗的開發者通常喜歡任
- 手工工藝他們的代碼或
- 使用圖形設計器並仔細檢查所創建的代碼(下稱「分屏」視圖是非常有用爲該)
因爲不必要的屬性使代碼難以維護。
當您拖放時,Visual Studio中的Designer實際上會爲您生成代碼,因此性能完全相同。除非您有需要,否則我不會推薦動態地進行此操作。
定義「動態」。
- 如果通過「動態」指您手動編寫標記並手動聲明控件並接線事件,則不存在運行時性能差異。假設你手動創建了正確的東西,編譯結果是一樣的。 (甚至可以通過手動創建儘可能少的功能來稍微提高性能來完成工作,但這很少見,因爲編譯器非常擅長優化事情,我甚至不能真正想到關閉)但是,基本上,手動創建代碼並讓Visual Studio創建代碼都會生成相同的輸出。
- 如果通過「動態」指您在運行時實例化控件並在運行時連接它,則可能會導致性能下降。該框架在保持效率方面又是非常好的。如果你有所反思,那麼你可能會減慢一點。但是總的來說,除非你試圖在創建對象時非常聰明,或者正在談論幾毫秒加起來的高度活躍的網站,否則沒有什麼重大的成就。
就我所瞭解的內存或性能而言,沒有區別,但存在差異。例如,非動態控件(您引用的拖放)在Page.Init中實例化,而您動態添加的控件可能來自按鈕單擊,Page.Load等。
只是意識到初始化的差異,以及如何ViewState is handled for dynamic controls。
- 1. 如何拖放動態創建的控件
- 2. 動態創建控件
- 3. ASP.NET:動態創建控件
- 4. 動態控件創建
- 5. 創建動態控件
- 6. 動態創建DTPicker控件
- 7. 創建動態控件
- 8. Qt - 動態創建控件
- 9. 動態創建ListView控件
- 10. 動態創建VS項目
- 11. 創建Xml vs動態創建視圖
- 12. 動態創建並添加控件以動態創建表控件
- 13. 如何在動態創建的ASP.net控件中動態創建ASP.net控件
- 14. Eclipse - 如何使用拖放'n'拖放控件功能創建新項目
- 15. 動態拖放jquery
- 16. jquery動態創建可拖動divs
- 17. 拖放winform控件
- 18. C#如何拖放動態創建的矩形
- 19. 如何拖放在動態創建TableLayoutPanel中
- 20. 拖放一個動態創建的快捷方式
- 21. 根據靜態控件的選定值創建動態控件
- 22. 在運行時創建,拖放和調整控件大小
- 23. 保存各種可拖動和可拖放的狀態以創建新的html
- 24. Cocoa:爲文件創建拖放區
- 25. XCOPY創建的文件夾(拖放)
- 26. 在WPF中創建動態控件
- 27. 服務器控件動態創建CustomValidator
- 28. 動態創建控件的設置錨
- 29. 動態創建WPF組合框控件
- 30. 定製控件,動態創建
我相信動態創作更加昂貴。 – 2011-04-19 13:02:30