前言
大概一個(gè)來(lái)星期未更新博客了,久違了各位,關(guān)于SQL Server性能優(yōu)化會(huì)和ASP.NET Core MVC穿插來(lái)講,如果你希望我分享哪些內(nèi)容可以在評(píng)論下方提出來(lái),我會(huì)篩選并看看技術(shù)文檔來(lái)對(duì)你的內(nèi)容進(jìn)行解答,借此希望我們能共同進(jìn)步和學(xué)習(xí)。本節(jié)我們來(lái)講講ASP.NET Core MVC中的視圖組件。
Web應(yīng)用程序下管理ViewComponents
我是奔著項(xiàng)目用到了哪些就會(huì)去寫(xiě)對(duì)應(yīng)的技術(shù)博客,在我們項(xiàng)目中利用視圖組件來(lái)加載權(quán)限菜單,這一塊是我老大所做,我也就粗略看了看使用方法并未深入借此機(jī)會(huì)去學(xué)習(xí)學(xué)習(xí),最近老大要我研究.net core中的加密和解密,我也在摸索著并學(xué)習(xí)著后續(xù)可能再來(lái)詳細(xì)講講.net core中的加密和解密。視圖組件類(lèi)似于我們之前ASP.NET MVC中的部分視圖,不過(guò)其功能比部分視圖更加強(qiáng)大,它不會(huì)依賴(lài)于強(qiáng)類(lèi)型視圖,也和部分視圖一樣重在重用,到底多強(qiáng)大我們下面一起來(lái)見(jiàn)識(shí)下。首先我們過(guò)一過(guò)基本原理。通過(guò)調(diào)用 InvokeAsync 方法來(lái)調(diào)用視圖組件,此方法定義在 IViewComponentHelper 接口中,如下:
視圖組件并不直接處理請(qǐng)求,主要可以用來(lái)初始化數(shù)據(jù)或者獲取數(shù)據(jù)后并通過(guò)上述方法來(lái)進(jìn)行渲染,從上述方法參數(shù)中并未包含任何http請(qǐng)求信息而得知。那么問(wèn)題來(lái)了,視圖組件是如何進(jìn)行查找哪些是視圖組件呢,也就是說(shuō)從哪些路徑去查找呢,從如何兩個(gè)路徑去查找視圖組件。
Views/<controller_name>/Components/<view_component_name>/<view_name>Views/Shar