一定要使用BasePage
| 原始連結
ASP.NET 比起傳統ASP網頁最大的好處之一,就是可以用物件導向的方式來設計網頁應用程式,這使得ASP.NET網頁的架構可以比ASP擁有更大的彈性。
一般我們建立一個Web Application後總是會加入許多不同的頁面,雖然看上去每個頁面都有各自不同的功能,但是仔細瞧瞧你一定會發現每個頁面都會有共同的特性或功能,把這些共同的行為規畫在物件導向的繼承架構下可以建立更完善的系統模組,我的偶像維克大隊長就發生這樣的一個故事。
維克大隊長又接到新的任務,這次的客戶可真是有夠難搞。
「我們需要一個報表查詢系統,而且每個頁面功能都要檢查使用者的權限以免有人會在我們的系統上做壞事。」客戶這麼說。
這簡單,只要在每個頁面貼上一段檢查權限的函式就好了,不過維克大隊長選擇了更好的方法,他先寫了一個繼承System.Web.UI.Page的BasePage頁面,並且在OnPreLoad事件中加入檢查權限的函式。
然後在每個後來加上去的功能頁面都繼承BasePage再複寫ValidatePermission()
這樣一來只要所有繼承BasePage的網頁都有的檢查的功能,真是聰明,而且萬一那個應死的客戶又企圖加上任何共用的功能時只要修改BasePage就可以反應在所有頁面上,結論是使用BasePage有益無害,不管是多小的案子都應該採用這種方式來開發,就算BasePage暫時還也沒任何功能也一樣。
最後維克大隊長又漂亮的完成了他的任務。