<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net服務器端指令include的使用及優勢介紹

        來源:懂視網 責編:小采 時間:2020-11-27 22:41:08
        文檔

        asp.net服務器端指令include的使用及優勢介紹

        asp.net服務器端指令include的使用及優勢介紹: asp.net中的服務端包括指令簡單點就是一個<!-- #include file|virtual=filename –>這樣的指令,msdn中的名詞解釋是:將指定文件的內容插入 ASP.NET 文件中,包括網頁(.aspx 文件)、用戶控件文件(.ascx 文件)和 Global.asax
        推薦度:
        導讀asp.net服務器端指令include的使用及優勢介紹: asp.net中的服務端包括指令簡單點就是一個<!-- #include file|virtual=filename –>這樣的指令,msdn中的名詞解釋是:將指定文件的內容插入 ASP.NET 文件中,包括網頁(.aspx 文件)、用戶控件文件(.ascx 文件)和 Global.asax

              asp.net中的服務端包括指令簡單點就是一個<!-- #include file|virtual="filename" –>這樣的指令,msdn中的名詞解釋是:將指定文件的內容插入 ASP.NET 文件中,包括網頁(.aspx 文件)、用戶控件文件(.ascx 文件)和 Global.asax 文件。插入靜態文件這個基本功能就不說了,插入aspx、ascx,這功能算是挺強了,asax哥就有點困惑了,這個暫且不管,今天要說的就是這個指令。

        尷尬的存在
             服務器端包括指令在web的開發技術中肯定是個標配了。asp.net前身asp中就已經有了這個指令,做為唯一一個引用外部文件的指令,入門的開發人員都應該使用過;php中的include、require,幾乎用濫了,曾經使用過一段php,這指令常用的不能再常用了;jsp沒過開發經驗,搜索了下,也有這個include指令,使用情況應該也很平常。但是asp.net中的include幾乎是在被遺忘的角落里,讀過的asp.net的書里,很少會提到它。因此,對于沒有asp開發經驗直接學習asp.net的來說,可能要本不知道它的存在。為什么??

             造成尷尬存在原因之一,就是webform中最重要的功能之一:用戶控件。為什么要使用include,是因為被引用的內容會在很多地方被使用到--重用,例如頁頭、頁腳、網站功能塊。而恰恰用戶控件就是為此而生,它天生可重用的特性,及強大的控件事件流程,就如MSDN中所說:
             “盡管您仍然可以使用 #include 標記(通過將公共服務器端代碼、控件或 HTML 標記放入要包括在其他網頁中的文件內)以實現代碼重用,ASP.NET 常用的首選方法是使用 Web 用戶控件。用戶控件提供了一個面向對象的編程模型,并且提供了比服務器端包含文件更多的功能。”
        微軟都不待見它了,緊接著,include也被開發人員打入冷宮,但是,請不要忘記,它存在。

        include詳解
               說是詳解,其實不打算在這里詳解,請參見:服務器端包括指令語法。語法、用法、示例什么的,這里也不說,大家自己去看或自己試驗吧。

        include優勢
               說到優勢,肯定要有個比較的對象了,對了,這個對象就是用戶控件。用戶控件是啥玩意,不解釋。

        優勢之一:靜態文件的重用。

        用戶控件功能強大,但是即使是簡單如靜態內容以用戶控件的形式實現,它也必須經歷用戶控件的生命周期,相比性能就差了。

        你可能會說,現如今網站又有多少還能是純靜態的內容呢,譬如頁腳,那些項肯定也是網站CMS后臺管理的,怎么可能以靜態文件的形式存在,只能使用用戶控件,并且給用戶控件加上outputcache,這樣即保證了靈活性,性能也能有保證,這樣才是最完美的。

        不錯,第一,不同的項目不同的需求,肯定有些時候就是會引用靜態內容,這時要保證使用這些靜態內容以靜態的形式存在,不要放到用戶控件里。第二,網站的優化,無論何時,總有一種觀點,就是靜態化,例如上邊的頁腳,我們可以通過生成一個靜態的頁腳文件,當CMS對這些項有修改時,重新生成這個文件,然后通過include方式引用,相對于緩存的不可預測性和一定的不可控性,優勢比用戶控件還要靈活,并且性能更好。第三,協作,就是對于比較大型的網站,頁面某些控件,但是這些數據是其它團隊負責的,而一些相對穩定的內容或者對變化不太敏感的內容,生成靜態文件之后自動分發,而對于這些文件的引用也是很常見的。

        其實這個也可能是唯一的include的優勢了。

        優勢之二,可穿透的封裝。

        可重用的東西一般都是封裝的。用戶控件是一個獨立的個體,它寄宿于頁面,但本身卻像是頁面上一個自由王國,碰到王國內部的處理,頁面會把處理權交給控件自己的去處理,例如頁面page_load加載時,碰到控件只能調用控件提供的load處理方法,這就是控件的封裝,只有自身愿意公開的屬性和方法才能被頁面訪問,這是標準的封裝,這也是由asp.net的頁面生命周期決定的。因此,如果控件要使用寄宿頁面的一個變量,那么它應該公開一個屬性,然后由頁面在代碼里主動給它賦值。

        同樣的,不同的機制決定了不同的行為。從MSDN中:

        賦予 File 或 Virtual 特性的值必須用引號 ("") 括起來。在執行任何動態代碼之前處理被包含的文件。

        重要的一句,在執行任何動態代碼之前處理被包含的文件。這句話什么意思??

        一層意思就是說被包含文件在被處理之后內容才會加入到頁面中,動態代碼執行時,執行的代碼根本就區分不出來這塊內容是引用的還是自己本來就有的,也就是說我們可以用來重用的靜態文件里加入<% 代碼 %> 或者<%= 頁面變量 %> 這樣的代碼,它們會被頁面處理為相應的內容。這就是我所謂的“可穿透的封裝”。這種方法當然比控件公開屬性,頁面主動賦值要更靈活。

        二層意思如果引用的aspx或ascx,那么會在引用的動態內容執行輸出之后,頁面代碼才會執行,這樣就不如用戶控件調用將流程在頁面內好了,盡量不要使用include引用動態頁面。

        因此我們應只用include引用靜態文件,但是靜態文件里可以包含服務端標記代碼。

              知無不言,但怎奈能力有限,詞不達意,就當拋磚引玉吧。大家盡量看,不過可以肯定的是可以以靜態文件存在的重用就用include吧。可能還會有其它更適合的使用場景和更多的優勢,還請有充分經驗的補充。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net服務器端指令include的使用及優勢介紹

        asp.net服務器端指令include的使用及優勢介紹: asp.net中的服務端包括指令簡單點就是一個<!-- #include file|virtual=filename –>這樣的指令,msdn中的名詞解釋是:將指定文件的內容插入 ASP.NET 文件中,包括網頁(.aspx 文件)、用戶控件文件(.ascx 文件)和 Global.asax
        推薦度:
        標簽: 指令 asp 服務端
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 老妇激情毛片免费| 亚洲aⅴ无码专区在线观看春色| 本免费AV无码专区一区| 亚洲精品国产电影| 无码 免费 国产在线观看91| 免费一区二区三区四区五区| 免费无遮挡无码视频在线观看| 四虎精品亚洲一区二区三区| 一个人晚上在线观看的免费视频| 全部免费毛片在线| 99在线免费视频| 久久精品国产亚洲av麻豆小说| av免费不卡国产观看| 亚洲综合无码一区二区痴汉| 成年男女男精品免费视频网站| 亚洲精品无码久久久久久| 免费看一级做a爰片久久| 一个人看的www免费高清| 亚洲A∨无码无在线观看| 亚洲一区二区三区免费观看| 亚洲依依成人亚洲社区| 亚洲AV伊人久久青青草原| 好男人资源在线WWW免费| 亚洲精品午夜久久久伊人| 67194成是人免费无码| 草久免费在线观看网站| 久久综合日韩亚洲精品色| 久久成人国产精品免费软件| 亚洲综合色一区二区三区| 亚洲人成无码久久电影网站| 久久久久国产精品免费网站| 亚洲xxxx18| 国产美女亚洲精品久久久综合| 99久热只有精品视频免费观看17| 91在线亚洲综合在线| 久久亚洲AV无码西西人体| 67pao强力打造国产免费| 亚洲精品色在线网站| 国产成人亚洲综合无码精品 | GOGOGO免费观看国语| 亚洲天堂一区二区三区|