久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ASP.NET Core MVC 從入門到精通之布局

 老碼識途 2023-10-10 發(fā)布于廣東

隨著技術的發(fā)展,,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,,已經(jīng)越來越完善,,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關內容,適用于初學者,,在校畢業(yè)生,,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。 經(jīng)過前幾篇文章的講解,,初步了解ASP.NET Core MVC項目創(chuàng)建,,啟動運行,以及ASP.NET Core MVC的命名約定,,創(chuàng)建控制器,,視圖,模型,,接收參數(shù),,傳遞數(shù)據(jù),路由等內容,,今天繼續(xù)講解ASP.NET Core MVC 布局等相關內容,,僅供學習分享使用。

什么是布局,?

大多數(shù) Web 應用都有一個通用布局,,可在頁面間切換時為用戶提供一致體驗。該布局通常包括應用標頭、導航或菜單元素以及頁腳等常見的用戶界面元素,。在如下布局中,,Content內容隨著不同請求而改變,其他頁面內容則很少改變,,進而形成統(tǒng)一的風格,,一致的用戶體驗,這就是布局的好處,。

布局的優(yōu)勢

在ASP.NET Core MVC項目中,,使用布局具有以下優(yōu)勢:

  1. 布局可使頁面在不同的請求之間保持一致的用戶體驗。

  2. 布局可減少視圖中的重復代碼,。

布局的分類

按照約定,,默認布局名為 _Layout.cshtml,。使用模板創(chuàng)建的新 ASP.NET Core MVC項目的布局文件為:

  • 基于頁面的布局文件,,Razor 頁面: Pages/Shared/_Layout.cshtml

  • 基于視圖控制器的布局文件,具有視圖的控制器: Views/Shared/_Layout.cshtml

默認布局

在通過模板創(chuàng)建的ASP.NET Core MVC項目中,,默認會生成布局視圖【Views/Shared/_Layout.cshtml】,,布局視圖主要包括三部分:

  1. 引入公共的JavaScript腳本,CSS樣式等資源文件

  2. 定義公共的Header,,F(xiàn)ooter,,Left Navigation等用戶頁面元素

  3. 定義Content區(qū)域,通過@RenderBody()來提供Content占位符,。

布局視圖示例如下所示:

默認情況下,,每個布局必須調用 RenderBody。無論在何處調用 RenderBody,,都會呈現(xiàn)視圖的內容,。

指定布局

視圖具有Layout屬性,可以指定使用不同的布局視圖,。指定的布局可以使用完整路徑 (,,例如/Views/Shared/_Layout.cshtml/Pages/Shared/_Layout.cshtml) 或部分名稱 (示例: _Layout) ,。 

默認情況下【_ViewStart.cshtml】指定默認的布局視圖,,頁面內容如下所示:

導入共享指令

視圖和頁面可以使用 Razor 指令來導入命名空間并使用依賴項注入??稍谝粋€共同的 _ViewImports.cshtml 文件中指定由許多視圖共享的指令,。 _ViewImports 文件支持以下指令:

  • @addTagHelper

  • @removeTagHelper

  • @tagHelperPrefix

  • @using

  • @model

  • @inherits

  • @inject

  • @namespace

注意:該文件不支持函數(shù)和節(jié)定義等其他 Razor 功能。

默認情況下,,【_ViewImports.cshtml】頁面內容如下所示:

 _ViewStart.cshtml,,_ViewImports.cshtml 通常放置在 Pages (或 Views) 文件夾中。如下所示:

注意:_ViewImports.cshtml文件可以放置在任何文件夾中,在這種情況下,,該文件將僅應用于該文件夾及其子文件夾中的頁面或視圖,。從根級別開始處理 _ViewImports 文件,然后處理在頁面或視圖本身的位置之前的每個文件夾,??梢栽谖募A級別覆蓋根級別指定的 _ViewImports 設置。

如果在文件層次結構中找到多個 _ViewImports.cshtml 文件,,則指令的組合行為如下所示:

  • @addTagHelper@removeTagHelper:按順序全部運行

  • @tagHelperPrefix:最接近視圖的文件會替代任何其他文件

  • @model:最接近視圖的文件會替代任何其他文件

  • @inherits:最接近視圖的文件會替代任何其他文件

  • @using:全部包括在內,;忽略重復項

  • @inject:針對每個屬性,最接近視圖的屬性會替代具有相同屬性名的任何其他屬性

取消布局

通過默認模板創(chuàng)建的程序,,默認是應用布局文件,,效果如下:

注意:content內容也應用了布局文件中公共的css樣式和javascript腳本等資源。

在視圖中,,通過指定Layout屬性可以取消或替換布局,,如下所示:

@{    ViewData["Title"] = "Home Page";    Layout = null;}
<div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p></div>

取消布局效果,如下所示:

通過對比發(fā)現(xiàn),,取消布局后,,原有的居中效果也消失了。說明失去了原有布局文件中css樣式的支持,。

以上就是ASP.NET Core MVC從入門到精通之布局的全部內容,,旨在拋磚引玉,一起學習,,共同進步,。關于ASP.NET Core MVC 從入門到精 的通其他文章,可通過以下鏈接查看:

ASP.NET Core MVC 從入門到精通之初窺門徑

ASP.NET Core MVC 從入門到精通之接化發(fā)(一)

ASP.NET Core MVC 從入門到精通之接化發(fā)(二)

ASP.NET Core MVC 從入門到精通之路由


學習編程,,從關注【老碼識途】開始?。?!

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多