ASP.NET Core MVC 13. 安裝前端庫
html
就是部分View,他沒有本身的數據,數據來自圖中白色的那塊,它的數據須要傳進去,第一個參數是View的名稱,第二個參數就是傳入的數據,它沒有本身對應的後臺邏輯和數據
Home/Index.cshtml想把這個列表改爲複用的,改爲一個Partical View
起名一般是如下劃線開始的
先把引入Partial的代碼寫上
Partial VIew的代碼就是這個樣,最上面聲明類型
原來的代碼註釋掉
這裏有個提示建議使用其餘的方法,這裏先無論他,先運行頁面測試
改爲異步的
最終的代碼
把裏面每行tr的數據再提取數據出來作Partial View
新建_StudentRow.cshtml
使用TagHelper的引入方式
運行測試,發生錯誤。這是因爲上面的部分視圖的代碼 是異步引入致使的
先把這裏的異步調用改爲日常的 ,非異步的
運行效果 正常
Home/Index.cshtml也改爲TagHelper的形式
刷新頁面,運行正常
前端
視圖組件
例如在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裏面
這樣就每一個頁面都有這個總數
數據庫
vc冒號+ViewComponent的名稱。注意都是小寫的。無論你的ViewComponent名字是不是大寫的,這裏都要小寫的
還須要引入命名空間
此次就有了效果
若是ViewComponent的名字是兩個單詞組成的叫作WelcomeStudentViewComponent
兩個單詞以前用短橫線隔開,而且注意單詞都要是小寫的。中文叫作短橫線命名方式
mvc