国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

動態加載用戶控件的組件!(三)

2024-07-21 02:24:09
字體:
來源:轉載
供稿:網友
上一篇文章寫到動態加載用戶控件的簡單應用

頁面是用來瀏覽信息的!但是更重要的是和用戶交互,根據不同的需求提供不同的內容服務,這是一種服務或是一種更貼近用戶的人性化。(又在胡言亂語了!^_^)

動態加載葉面,根據不同的用戶權限加載不懂的內容服務。根據用戶的相應加載相應的內容服務。

還有另外一個應用就是做到頁面與代碼的分離。在vs2003里,一般ascx或aspx文件,在剛建立的時候都直接跟一個cs文件關聯。那么我們在寫程序的時候就不能分開來做。作葉面和寫后臺代碼的不能分開。為了能夠做到作業面與作后臺代碼的能完全分開來,我們可以把后臺的所有代碼當作一個組件來做就可以了!這樣一個不用跟cs文件關聯的aspx葉面文件直接引用一個組件就可以了!那么組件可以加載不同的ascx文件最后組成一個完整的葉面。就這樣一個項目的開發就像個機車制造廠一樣組裝不同的零件就有輛車出來了。軟件也可以拿來組裝,零件我們也可以訂制,最后整體就可以出來了!(常常看別人的文章的時候怎么就覺得廢話那么多,原來發現我廢話也不少!^_^)

好!讓我們step by step ,就從不需要關聯cs文件的aspx葉面開始吧!(在vs2005里,我新建aspx葉面的時候就直接沒有cs文件關聯。但是直接有個不完整類型隱藏起來了。怎么用基類就成為問題了!隱藏部分應該是繼承了page了!那么根據單繼承的原則我們是不能在繼承別的類型的了。這個問題有待研究。)

根據aspx葉面運行原理。葉面要跟服務端交互必須通過一個run at server的form標簽才能行得通。因此我不要先來寫個form組件,那么form就應該是個容器的形勢來承載葉面所有要與服務端交互的元素,(容器太重要了,namespace也可以看作容器,只不過是不能放東西而已,是虛擬的容器)

1、做form容器組建:繼承繼承他就行了,注意一點就是唯一id的問題。自己繼承的可能該改變了id,那么回傳的時候就找不到了啊。切記!當然render葉面的時候是通過遍歷所有form容器內所有的組件來一個個render出來。所以要改uniqueid。

示例一下:

using system;

using system.web.ui;

using system.web.ui.webcontrols;

using system.componentmodel;



namespace region.controls {



public class myform : system.web.ui.htmlcontrols.htmlform {



public override string uniqueid {

get {

if (this.nonamecontainer && this.namingcontainer != this.page ) {

return base.uniqueid.substring(base.uniqueid.lastindexof(":")+1);

} else {

return base.uniqueid;

}

}

}



protected override void renderattributes(htmltextwriter writer) {

this. nonamecontainer = true;

base.renderattributes (writer);

this. nonamecontainer = false;

}



protected override void renderchildren(htmltextwriter writer) {

this. nonamecontainer = true;

base.renderchildren (writer);

this. nonamecontainer = false;

}



private boolean nonamecontainer = false;

}

}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天柱县| 汉川市| 汕尾市| 昌乐县| 蒙阴县| 多伦县| 惠水县| 伊川县| 冷水江市| 台州市| 中卫市| 藁城市| 涡阳县| 连江县| 五河县| 五莲县| 湘潭县| 宿松县| 墨竹工卡县| 天气| 保定市| 绵竹市| 曲麻莱县| 青海省| 保亭| 胶州市| 沐川县| 仁寿县| 荆州市| 平度市| 蛟河市| 三明市| 喀什市| 泾源县| 吉安县| 朔州市| 浦北县| 同心县| 孟连| 鄯善县| 西乌|