上一篇文章寫到動態(tài)加載用戶控件的簡單應(yīng)用
頁面是用來瀏覽信息的!但是更重要的是和用戶交互,根據(jù)不同的需求提供不同的內(nèi)容服務(wù),這是一種服務(wù)或是一種更貼近用戶的人性化。(又在胡言亂語了!^_^) 動態(tài)加載葉面,根據(jù)不同的用戶權(quán)限加載不懂的內(nèi)容服務(wù)。根據(jù)用戶的相應(yīng)加載相應(yīng)的內(nèi)容服務(wù)。 還有另外一個應(yīng)用就是做到頁面與代碼的分離。在vs2003里,一般ascx或aspx文件,在剛建立的時候都直接跟一個cs文件關(guān)聯(lián)。那么我們在寫程序的時候就不能分開來做。作葉面和寫后臺代碼的不能分開。為了能夠做到作業(yè)面與作后臺代碼的能完全分開來,我們可以把后臺的所有代碼當作一個組件來做就可以了!這樣一個不用跟cs文件關(guān)聯(lián)的aspx葉面文件直接引用一個組件就可以了!那么組件可以加載不同的ascx文件最后組成一個完整的葉面。就這樣一個項目的開發(fā)就像個機車制造廠一樣組裝不同的零件就有輛車出來了。軟件也可以拿來組裝,零件我們也可以訂制,最后整體就可以出來了?。ǔ3?磩e人的文章的時候怎么就覺得廢話那么多,原來發(fā)現(xiàn)我廢話也不少!^_^) 好!讓我們step by step ,就從不需要關(guān)聯(lián)cs文件的aspx葉面開始吧?。ㄔ?/span>vs2005里,我新建aspx葉面的時候就直接沒有cs文件關(guān)聯(lián)。但是直接有個不完整類型隱藏起來了。怎么用基類就成為問題了!隱藏部分應(yīng)該是繼承了Page了!那么根據(jù)單繼承的原則我們是不能在繼承別的類型的了。這個問題有待研究。) 根據(jù)aspx葉面運行原理。葉面要跟服務(wù)端交互必須通過一個run at server的form標簽才能行得通。因此我不要先來寫個form組件,那么form就應(yīng)該是個容器的形勢來承載葉面所有要與服務(wù)端交互的元素,(容器太重要了,namespace也可以看作容器,只不過是不能放東西而已,是虛擬的容器) 1、做form容器組建:繼承繼承他就行了,注意一點就是唯一ID的問題。自己繼承的可能該改變了ID,那么回傳的時候就找不到了啊。切記!當然render葉面的時候是通過遍歷所有form容器內(nèi)所有的組件來一個個render出來。所以要改UniqueID。 示例一下:
|
|
來自: 素行 > 《網(wǎng)站開發(fā)》