WebForm(aspx,cs,dll之間的關系)


  • WebForm分為兩個文件aspx和aspx.cs,aspx是頁面模板,是頁面描述文件,就是html的內容,和aspx結合的更好,不用像一開始那樣程序員自己去填充模板,控件都是定義在aspx中,內聯的JavaScript、CSS也是寫在aspx中的,,服務端的C#代碼是定義在aspx.cs中。aspx控件頁面長相,cs控制程序邏輯,這種“前aspx后cs”的方式就被稱為CodeBehind。aspx就是模板引擎
  • cs可以調用aspx中的控件,aspx中也可以訪問cs中定義的字段、函數,還可以編寫復雜的C#代碼, for等所有C#代碼都可以寫在aspx中(不推薦)
  • 前面 <%=UserName %>    <%SayHello(); %>    <%if (UserName == "aaa") { UserName = "bbb"; } %>    后面
          "=" 表示在aspx端表示輸出cs里面UserName屬性的值
  • 使用的函數、代碼相當於在這個位置調用函數、執行代碼。注意aspx中調用cs的成員級別必須是protected或者public不能private的。(因為頁面aspx是cs服務器端代碼類的子類,繼承的子類只能調用父類的public protected,不能調用private)
  • <%%>中的代碼是運行在服務器端的,是C#語法,其他部分是運行在瀏覽器端的,是html、JavaScript語法。

比如我在aspxcs文件夾里面建立了一個叫做Form1.aspx的頁面
如下:


也就是說當訪問頁面的時候,父類是后台處理程序里面的那個aspxcs_Form1,而瀏覽器端的頁面叫做ASP.aspxcs_form1_aspx
使用Reflector反編譯dll文件,可見 ASP.aspxcs_form1_aspx繼承自 aspxcs_Form1

父類(我們所寫的后台代碼)如下:

當在頁面中寫入C#代碼以后,其內部樣式是:
可以看到瀏覽器頁面子類的代碼樣子是
aspx編譯器幫助我們將頁面中的C#代碼,編譯成為了一個asp.net中的類,然后執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM