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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP.NET頁(yè)面繼承關(guān)系

2019-11-17 01:53:06
字體:
供稿:網(wǎng)友

asp.net頁(yè)面繼承關(guān)系

2014-11-21 22:34 by 大腦溢出, ... 閱讀, ... 評(píng)論, 收藏, 編輯

用過ASP.NET(以下簡(jiǎn)稱ASP)的都知道ASP以一種Code Behind的方式給咱展現(xiàn)了一種類似Winform的開發(fā)模型,同樣也是以“事件觸發(fā)”的方式進(jìn)行各種請(qǐng)求處理。其中AutoPostback,Viewstate等等東西可以另起一篇文章了,相信有過ASP開發(fā)經(jīng)歷的人對(duì)其都是一點(diǎn)都不陌生了,按下不表。這篇文章主要想講述一個(gè)不太明顯但一直都在接觸的東西。就是前臺(tái)頁(yè)面和后臺(tái)CS文件之間是一種什么對(duì)應(yīng)關(guān)系,為什么后臺(tái)定義的方法,前臺(tái)控件的事件可以直接注冊(cè)這個(gè)方法?可能很多人都已經(jīng)考慮過這個(gè)問題,也可能覺得這問題沒啥意義,沒關(guān)系,就是個(gè)玩兒~。 注意,ASP的控件模型和一個(gè)請(qǐng)求的生命周期比較復(fù)雜,如果深入去講,我水平也有限,不說能不能深入到讓人過癮,光去證明結(jié)論對(duì)不對(duì)就讓人夠嗆了,所以我在這里假定您水平已經(jīng)很不錯(cuò)了,就不會(huì)多貼多余的代碼了,也不會(huì)半路繞道去解釋別的概念了。節(jié)約大家的時(shí)間和文章的篇幅。這兒給您先行道歉! 先看代碼:

public partial class Default : System.Web.UI.Page {     PRotected void Page_Load(object sender, EventArgs e)    {    }      protected void Button1_Click(object sender, EventArgs e)     {        }}

我們祭出aspnet_compiler,它是asp的編譯工具,對(duì)頁(yè)面進(jìn)行編譯后,可以得到幾個(gè)比較重要的DLL,這里需要您親自去MSDN查查其用法,如果您沒時(shí)間動(dòng)手也沒關(guān)系,不妨礙理解。

我們用ILSPY(一款.NET的反編譯工具)反編譯這兩個(gè)DLL,得到:

z

x

f

打開這兩個(gè)DLL后,查看其源代碼。可以看到aspx頁(yè)面實(shí)際上會(huì)被編譯成一個(gè)類,頁(yè)面的代碼都會(huì)被編譯成各自對(duì)應(yīng)的控件,其基類,就是aspx頁(yè)面對(duì)應(yīng)的cs文件中的Default類,所以很明顯了,方法從基類繼承下來了,自然可以注冊(cè)了。哦對(duì)了,順著這個(gè)思路,其實(shí)可以看到很多有意思的技術(shù)底層的原理,待大伙兒探討了。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东光县| 镇沅| 扎兰屯市| 稷山县| 秦皇岛市| 漳浦县| 莆田市| 富蕴县| 通海县| 白城市| 长武县| 玉门市| 芜湖市| 文昌市| 雷山县| 黄骅市| 鄂托克旗| 资溪县| 扬州市| 武鸣县| 惠水县| 鹤壁市| 巧家县| 上杭县| 南通市| 舒兰市| 周至县| 平和县| 阜康市| 辽源市| 芦溪县| 炉霍县| 康乐县| 灵武市| 西华县| 田林县| 清原| 剑河县| 长海县| 正宁县| 兰西县|