今日讀 asp.net 心得 ---- 比較意識流,神經衰弱勿進

來源:互聯網
上載者:User
asp.net|比較|心得 在很久很久以前----可能都快一年了吧,我第一次看 asp.net (那時江湖人稱 asp+),
看到 application, session 什麼的,就和自己說“人在哪!人在哪!"
等到看到 web form server controls,更是忍不住竊笑----“不就是以前 vi6 dtc controls 嗎,
你以為你穿了馬甲我就不認識你了”。
隨便翻了翻就放在一邊了。

這兩天有時間多看了一下,發現好像不是那麼回兒事。
怎麼說呢? 誇張點說,asp.net 和 asp 的區別,就好像 nt 和 dos 的區別差不多,
猛一看 nt 裡也有 dos 命令列,但那能一樣嗎。也許你覺得這麼說太誇張了,但
想想這幾點----
. 從技術上說 asp.net 其實都不需要 iis 的存在
. 所有的 aspx page 其實都是 class (或者嚴格些,是 System.Web.UI.Page 的執行個體)
. Page 是實現了 IHttpHandler 的 class,你也可以寫個自己的 class:IHttpHandler
. 所有的 aspx page 其實都要被 compile 成 dll
. 我們以前的親人 application/session 什麼的,都只是從 System.Web.HttpContext 衍生來的
......


所以乾脆換個思路去理解 asp.net 可能更容易接近它的原形(師傅!有妖怪!)-----
. 最好不要在 aspx 中寫 script,要使用 .aspx + .cs ----- codehehind
. 把 aspx 看成 vb form,把 cs 看成 vb code
. 不過這些 “form” 有個本領就是能通過自動產生 html 代碼從而把自己顯示在瀏覽器中
. 這個本領的實質是因為 page 實現了一個函數叫 render,所以你能通過重載 render 幹點更多的事
. 所有的 server control (當然更是 class 了)也是通過 render 產生 html 代碼的
. 所以你也可以繼承一個 control(比如 DataGrid) 然後重載 render 擴充它的功能,做些比較妖的事兒
. 或者你可以直接從 System.Web.UI.WebControls 直接繼承,然後做出自己的控制項
. 可以在裡面封裝幾個其他控制項---- 就成了 composite 控制項,更好玩的是可以不做成 assembly, 可以以頁面形式被調用
......

cut! 我知道我越說越亂,你越聽越暈,但俺新學乍練麼,您這西紅柿先收著----啪!且聽下回分解。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.