ASPX中的使用者控制元件與ASP中的INCLUDE方法對比

NO IMAGE

    在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中,對於不同目錄下的檔案引用相同功能的檔案時需要設定兩個事實上相同但是圖片或者超級連結的地址不同的檔案.浪費資源,也使得維護費用更高.當然這些優點也使得檔案編寫起來也比較麻煩,對於分析上要求有更高的歸納能力,使得控制元件能更廣泛的使用.

您可能感興趣的文章:

asp.net頁面master頁面與ascx使用者控制元件傳值的問題asp.net 動態新增多個使用者控制元件asp.net 使用者控制元件讀取以及賦值asp.net 使用者控制元件中圖片及樣式問題asp.net動態載入使用者控制元件,關於後臺新增、修改的思考asp.net動態載入使用者控制元件的方法ASP.NET使用者控制元件技術JQuery為使用者控制元件(ASCX)賦值與介面的應用