一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現

ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現

2020-06-29 14:23HueiFeng ASP.NET教程

這篇文章主要介紹了ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

IViewLocationExpander API

  • ExpandViewLocations Razor視圖路徑,視圖引擎會搜索該路徑.
  • PopulateValues 每次調用都會填充路由

項目目錄如下所示

ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現

創建區域擴展器,其實我并不需要多區域,我目前只需要達到一個區域中有多個文件夾進行存放我的視圖.

所以我通過實現IViewLocationExpander進行擴展添加我自定義視圖路徑規則即可正如下代碼片段

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MyViewLocationExpander : IViewLocationExpander
 {
   public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
   {
     if (context.ControllerName != null && context.ControllerName.StartsWith("App"))
     {
       viewLocations = viewLocations.Concat(
         new[] { $"/Areas/sysManage/Views/App/{context.ControllerName}/{context.ViewName}{RazorViewEngine.ViewExtension}"
             });
       return viewLocations;
     }
 
     if (context.AreaName != "sysManage") return viewLocations;
     viewLocations = viewLocations.Concat(
       new[] { $"/Areas/sysManage/Views/System/{context.ControllerName}/{context.ViewName}{RazorViewEngine.ViewExtension}"
       });
     return viewLocations;
   }
 
   public void PopulateValues(ViewLocationExpanderContext context)
   {
   }
 }

在Startup.ConfigureServices 注冊

?
1
2
3
4
5
6
7
public void ConfigureServices(IServiceCollection services)
   {
     services.Configure<RazorViewEngineOptions>(o => {
       o.ViewLocationExpanders.Add(new MyViewLocationExpander());
     });
     services.AddMvc();
   }
?
1
2
3
4
5
6
7
app.UseEndpoints(endpoints =>
     {
       endpoints.MapRazorPages();
       endpoints.MapAreaControllerRoute(
         name: "sysManage", "sysManage",
         pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
     });

最終路由指向的還是

?
1
/SysManage/Controller/Action

到此這篇關于ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現的文章就介紹到這了,更多相關ASP.NET Core MVC 擴展視圖搜索路徑內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/yyfh/p/12636976.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 扒开老师挠尿口到崩溃刑罚 | 99久久国产综合精品女小说 | 国产一区二区三区丶四区 | 调教小龙女 | 女人叉开腿让男人桶 | 国模一区二区三区视频一 | 女烈受刑重口小说 | 女同学用白丝脚玩我的故事 | 国产无限制自拍 | 成人看的羞羞视频免费观看 | 俄罗斯三级在线观看级 | 久久精品国产色蜜蜜麻豆国语版 | 亚洲品质自拍网站 | 爆操 | 九九九国产视频 | 乌克兰13一14娇小 | 免费一级特黄特色大片 | 91视在线国内在线播放酒店 | 9久re热视频这里只有精品 | 情乱奶水欲 | 99超级碰碰成人香蕉网 | 四虎永久网址影院 | 草草草视频在线观看 | 91久久精品国产一区二区 | 久久精品视频在线看 | 亚洲春色综合另类网蜜桃 | 成人久久网站 | 亚洲人成综合在线播放 | 精品人伦一区二区三区潘金莲 | 国产成人无精品久久久 | 国产激情一区二区三区成人91 | 青青青久久久 | av在线色 | 久久综合给合久久狠狠狠… | 国产伦精品一区二区三区免费迷 | 国产欧美日韩免费一区二区 | 久久毛片基地 | 日本暖暖在线视频 | 九九九国产视频 | 免费看一区二区三区 | 俄罗斯烧性春三级k8播放 |