2008年11月6日 星期四

User Control

User Control 與 Server Control 提供了程式的可重複使用性,但是兩者的開發成本上,卻是有著蠻大的差距。使用 UserControl 可以讓程式設計師保有拖拉物件的習慣與WYSIWYG(所見即所得)的便利性,入門上的門檻其實是比較低的。然而 Server Control的開發,則必須對 .Net 事件的觸發及基本類別的幾個重要屬性或方法有一定了解,才會比較能夠用起來得心順手。Server Control的確在跨專案也可使用的特性下獨具優勢,不然你看外面 third-party 所賣的元件,絕大多數都是包成 dll 讓你直接呼叫就可使用,很少是提供 User Control 來給你 copy-past 使用的。但並非少了跨專案可直接使用的特性,就會讓 User Control 失去舞台,相反地,只要你掌握住幾個 User Control 的關鍵要點, 相信使用起來就會非常的方便。

目前常會採用 User Control 的情況如下:
1.整個專案中重複出現的功能,如每頁上方的功能列
2.很多地方會重複出現的區塊

而自己遇到這種情況時,都會優先考慮採用 User Control 來達成。

回到剛剛所提到,要掌握住哪些 User Control 的要點呢?

要點一、ASPX 呼叫或設定 User Control 裡面的方法或屬性
自訂的User Control 裡,可能會定義了一些公開的方法或屬性,希望日後被某個 ASPX 頁面引用時,可以在 ASPX 的頁面裡直接呼叫 User Control 裡所定義的這些方法或屬性。

參考: http://paladinprogram.blogspot.com/2008/04/user-control.html

要點二、ASPX 攔截 User Control 裡的物件觸發事件
自訂的User Control 裡,我們可能加入了一些按鈕。而當這個 User Control 被某個 ASPX 頁面引用時,當網路使用者壓下自訂 User Control 按鈕時,希望也能夠讓 ASPX 頁面攔到是這個按鈕所觸發的事件,並在這事件裡頭寫些程式。
參考:http://paladinprogram.blogspot.com/2008/11/raise-usercontrol-event-to-main-page.html

相信這幾點釐清後, User Control 與你的距離,會拉近不少。

沒有留言:

張貼留言