include|控制項
在ASP的年代裡,為了避免經常性重複的勞動,對一些功能相似的地區或者代碼,經常作成一個檔案,然後通過串連(直接連接或者虛擬串連)的方法引入到ASP網頁檔案之中,對於一個很大的引用了很多ASP檔案就相當於一個檔案被分成了很多塊,彼此檔案之間的資料是可以自由共用的(除了函數之中的資料).
ASPX的使用者控制項就與INCLUDE有很大的不同了,它的最大特點就是在於他是以封裝好的對象的形式呈現,通過我們的編程,可以將一個公用的案例抽象出來,將一些功能和方法總結出來,作成相應的函數和屬性供外部的事件調用,實現完全的類化,最大程度的封裝外層使用者不需要瞭解的內部事實,使得其更加具有可維護性,也提高了資料的安全性,更利於程式的發布.
簡單的東西好用,但自然也功能比較少,或者是很不完善的,我們可以自由的將某個檔案的包含到指定的ASP檔案之中,但是,由於彼此的資料是可以共用的,所以導致,檔案的相互依賴性很高,降低了代碼可讀性,不利於系統的維護,同時,如果被INCLUDE的檔案中如果有一個圖片,並且被包含的檔案與需要包含檔案的檔案不在同一個目錄之下時,被包含的檔案的圖片的地址必須以需要包含檔案的檔案中能顯示圖片的地址為準,如/FILE/INDEX.ASP是主檔案(需要包含檔案的檔案),而/FILE/INCLUDE/TITLE.ASP是被包含檔案,而圖片地址為/file/title.jpg此時就需要將TITLE.ASP中的圖片地址改為title.jpg而不是../title.jpg,否則將無法在主檔案中顯示圖片,超級連結也是同樣的問題.
複雜的ASPX固然解決了很多的問題,如能夠在控制項檔案中自由的設定圖片的地址,無須理會引用他的檔案在什麼目錄之下,只要在控制項檔案中能顯示出來的東西,被引用之後依然可以被使用,這使得使用者製作的控制項具有更多的可重用性,而不象ASP中,對於不同目錄下的檔案引用相同功能的檔案時需要設定兩個事實上相同但是圖片或者超級連結的地址不同的檔案.浪費資源,也使得維護費用更高.當然這些優點也使得檔案編寫起來也比較麻煩,對於分析上要求有更高的歸納能力,使得控制項能更廣泛的使用.