<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Razor視圖引擎淺析之二

      原文: http://www.skight.com/技術博客/視圖引擎淺析之二

      模板是其最主要的功能,但是另一個次功能也不可忽視,內嵌幫助方法及其智能代碼完成功能。這個附助功能,大大提高效能。

      現在,我們面臨的問題是,當脫離ASP。Net MVC的框架以后,如何保持這個特性。幸運的是,微軟提供了擴展的接口或者說方法。

      在闡述解決方案之前,還是再回顧一下視圖引擎的原理。
      從Web Form到Razor,即有繼承也有揚棄。模板文件(cshtml vbhtml),仍然是當作一個類來處理,這與原來的機制是一致,不同的是不再是靜態類,以前文件名就是頁面類名,并且還可以有一個真正的類文件直接使用(code behind, partial class)。而Razor是完全的運行時編譯生成的類,甚至類名都是臨時生成Guid。
      所有這些改變,使得對View的控制如同要抓住隨風漂動的樹葉,幾乎不可能,幸運的是,漂動葉子有著不動的根,這個根就是所有View的基類,WebViewPage。注意到這個類是個抽象類,原因顯而易見。
      抓到這個根本之后,MVC的很多特性和功能就立馬找到了出處。
      比如,HtmIHelper(Razor 使用@Html), Model (Razor 使用@Model)等,其實都是這個基類的一個屬性。

      以上就是Razor視圖的主要的機制,如果開發人員只使用ASPNet MVC本身的功能,而不去擴展,或者像我們一樣完全創建一套自己全新的框架,那么這些背后的故事,知道也可,不了解也無所謂。

      而對我們的框架開發來說,還有一個重要問題,擴展接口在哪里?答案卻是極其簡單,在Web,Config文件有一塊<pages>的配置區或,其中有一項ParseBaseType改成你自己View的基類即可。甚至,代碼智能提示(IntelliSense)功能就馬上起作用(也許要重起Visual Studio)。這個自定義類可以繼承自WebViewPage,但非必須。

      好了,萬事俱備,可以開始展開你想象翅膀,做你想作的事了。

      posted @ 2012-02-05 07:12  予沁安  閱讀(1135)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 99久久免费精品色老| 欧美高清狂热视频60一70| 国产美女遭强高潮免费| 欧美乱码伦视频免费| 亚洲精品一区| 九九久久人妻一区精品色| 国产另类ts人妖一区二区| 99人体免费视频| 国产suv精品一区二区四| 中文字幕一区有码视三区| 国内精品免费久久久久电影院97| 在线观看国产精品日韩av| 麻豆tv入口在线看| 国产成人精品永久免费视频| 欧美怡春院一区二区三区| 国产另类ts人妖一区二区| 国产欧美精品一区二区三区-老狼| 亚洲精品一区二区麻豆| 国产成a人片在线观看视频下载| 国产精品69人妻我爱绿帽子| 不卡在线一区二区三区视频| 毛片无遮挡高清免费| 亚洲区综合区小说区激情区| 国产精品午夜无码AV天美传媒 | 亚洲乱码一区二区三区视色| 色就色中文字幕在线视频| 日韩中文字幕精品人妻| 国产成人av一区二区三区不卡| 无码国产欧美一区二区三区不卡| 久久蜜臀av一区三区| 国产一区二区精品偷系列| 日韩深夜免费在线观看| 精品国模一区二区三区 | 久久精品青青大伊人av| 色老板精品无码免费视频| 亚洲国产成人资源在线| 色av专区无码影音先锋| 国产精品福利自产拍久久 | 亚洲成人一区| 欧美福利电影A在线播放 | 欧美精品在线观看视频|