ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 12. Views 下

ASP.NET Core MVC 13. 安裝前端庫
html

Partial VIew

就是部分View,他沒有本身的數據,數據來自圖中白色的那塊,它的數據須要傳進去,第一個參數是View的名稱,第二個參數就是傳入的數據,它沒有本身對應的後臺邏輯和數據


Home/Index.cshtml想把這個列表改爲複用的,改爲一個Partical View

起名一般是如下劃線開始的


先把引入Partial的代碼寫上

Partial VIew的代碼就是這個樣,最上面聲明類型

原來的代碼註釋掉

這裏有個提示建議使用其餘的方法,這裏先無論他,先運行頁面測試






改爲異步的

最終的代碼

把裏面每行tr的數據再提取數據出來作Partial View

新建_StudentRow.cshtml


使用TagHelper的引入方式

運行測試,發生錯誤。這是因爲上面的部分視圖的代碼 是異步引入致使的

先把這裏的異步調用改爲日常的 ,非異步的

運行效果 正常

Home/Index.cshtml也改爲TagHelper的形式


刷新頁面,運行正常
前端

View Components

視圖組件
例如在Index.cshtml頁面顯示上面是學生列表。下面顯示課程的列表。下面應該單獨從數據庫查詢或者其餘數據源讀取數據,也有可能顯示在其餘頁面,這塊也是複用的


特色


單獨建文件夾ViewComponents

首先創建C#的類,ViewComponents像一個mini的mvc,因此他應該也有Controller。全部這個類就至關因而它的controller,而後它還對應一個Razor View.
名稱一般也是一ViewComponent結尾的

繼承自 ViewComponent

首先注入Repository

相似於Controller,返回類型是實現了IViewComponentResult接口的對象



這裏會有個問題,若是咱們返回的類型是字符串,那麼View方法會把count當作ViewName,當作View的名稱就回去尋找這個名爲Count的字符串值的View

那麼咱們只要寫上第一個參數View的名稱,把參數當第二參數傳過去就能夠了。

view的name改叫作Default吧

全部的ViewCompent放在Shared/Components文件夾下。
一個ViewComponent和Comtroller相似,也要創建和ViewComponent同名的文件夾名稱,由於。一個ViewComponent可能對應多個view。



使用這個ViewComponent

它是能夠加參數的

參數是在哪裏接收呢/


若是想每一個頁面都顯示的話,就放在Layout裏面

這樣就每一個頁面都有這個總數
數據庫

TagHelper的寫法

vc冒號+ViewComponent的名稱。注意都是小寫的。無論你的ViewComponent名字是不是大寫的,這裏都要小寫的

還須要引入命名空間

此次就有了效果

若是ViewComponent的名字是兩個單詞組成的叫作WelcomeStudentViewComponent
兩個單詞以前用短橫線隔開,而且注意單詞都要是小寫的。中文叫作短橫線命名方式


 mvc

相關文章
相關標籤/搜索