aspx頁面生成詳解

2021-09-08 21:12:01 字數 3125 閱讀 9484

當我們訪問asp.net網頁時,如果是第一次訪問,系統會編譯相應的網頁,編譯好的內容會存入「windows\microsoft.net\framework\version\temporary asp.net files\專案名稱\隨機數\隨機數」中,下面我們通過詳細分析這個編譯好的內容來學習aspx頁面的整個生成過程。

首先我們先製作乙個簡單的aspx頁面

<

html xmlns="

">

<

head runat="

server

">

<

title

>

標題頁title

>

head

>

<

body

>

<

form id="

form1

"runat="

server

">

<

div>

<

asp:textbox id="

textbox1

"runat="

server

">

asp:textbox

>

<

asp:dropdownlist id="

dropdownlist1

"runat="

server

">

<

asp:listitem

>

listitem1

asp:listitem

>

<

asp:listitem

>

listitem2

asp:listitem

>

asp:dropdownlist

>

div>

<

asp:button id="

button1

"runat="

server

"text="

button

"/>

form

>

body

>

html

>

當這個頁面第一次被訪問時,乙個包含控制項層級結構的類會自動的被建立,這個層級結構可以簡單抽象成如下圖:

首先我們先看看default_aspx類

程式流程圖如下:

scott mitchell對這部分分析的乙個抽象原始碼解釋(真實原始碼並非如此,但跟這個意思差不多),我覺得這段有助於大家理解這部分

所以貼在下邊。

page.controls.add( 

newliteralcontrol(

@"\r\n\r\n

\r\n

"));

htmlform form1 

=new

htmlform();

form1.id ="

form1";

form1.method ="

post";

form1.controls.add(

newliteralcontrol(

"\r\nwhat is your name?\r\n

"));

textbox textbox1 

=new

textbox();

textbox1.id ="

txtname";

form1.controls.add(textbox1);

form1.controls.add(

newliteralcontrol(

"\r\n

what is your gender?\r\n

"));

dropdownlist dropdownlist1 

=new

dropdownlist();

dropdownlist1.id ="

ddlgender";

listitem listitem1 

=new

listitem();

listitem1.selected 

=true

;listitem1.value ="

m";listitem1.text ="

male";

dropdownlist1.items.add(listitem1);

listitem listitem2 

=new

listitem();

listitem2.value ="

f";listitem2.text ="

female";

dropdownlist1.items.add(listitem2);

listitem listitem3 

=new

listitem();

listitem3.value ="

u";listitem3.text ="

undecided";

dropdownlist1.items.add(listitem3);

form1.controls.add(

newliteralcontrol(

"\r\n

\r\n

"));

button button1 

=new

button();

button1.text ="

submit!";

form1.controls.add(button1);

form1.controls.add(

newliteralcontrol(

"\r\n\r\n

"));

controls.add(form1);

aspx頁面生成詳解

當我們訪問asp.net網頁時,如果是第一次訪問,系統會編譯相應的網頁,編譯好的內容會存入 windows microsoft.net framework version temporary asp.net files 專案名稱 隨機數 隨機數 中,下面我們通過詳細分析這個編譯好的內容來學習aspx...

aspx頁面生成靜態頁面

通過aspx頁面生成靜態頁面,在 cs檔案重寫page的render方法,接收頁面通過請求返回的hmtl 然後再另存為 html模板 如下 方法一 把本頁面生成html頁面 protected override void render htmltextwriter writer 方法二 請求其它頁面...

Aspx 頁面生命週期

asp.net 頁執行時,此頁將經歷乙個生命週期,在生命週期中將執行一系列處理步驟。這些步驟包括初始化 例項化控制項 還原和維護狀態 執行事件處理程式 以及進行 呈現。了解頁的生命週期非常重要,這樣就能在合適的生命週期階段編寫 以達到預期效果。此外,如果開發自定義控制項,則必須熟悉頁生命週期,從而正...