服务器之家

服务器之家 > 正文

ASP.net中Core自定义View查找位置的实例代码

时间:2020-06-29 14:30     来源/作者:fanfan-90

.NET Core 的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽。老周主要扯一下大伙伴们在入门的时候可能会疑惑的内容。

ASP.NET Core 可以在一个项目中混合使用 Web Pages 和 MVC ,这是老周最希望的,因为这样会变得更灵活。Web Pages 类似于我们过去的 Web 开发方式,以页面为单位,此模型侧重于功能划分。而 MVC 侧重于数据,有什么样的数据模型就有什么样的 Controller,有什么样的 Controller 就会对应什么样的 Action ,而 Action 又会有对应的 UI,即 View。所以说 MVC 是以数据为核心的。

PopulateValues():作为一种指定参数的方式存在,您的视图查找将根据每个请求而变化.由于您没有填充它,视图引擎使用先前请求中的缓存值.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class ThemeViewLocationExpander : IViewLocationExpander
  {
    public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
    {
      string theme = context.Values["theme"];
      if (string.IsNullOrWhiteSpace(theme))
      {
        theme = "default";
      }
      string[] newLocation = { $"Views/{theme}/{{1}}/{{0}}.cshtml"};
      return viewLocations.Union(newLocation);
    }
 
    public void PopulateValues(ViewLocationExpanderContext context)
    {
      context.Values["theme"] = context.ActionContext.HttpContext.Request.Query["theme"].ToString();
    }
  }
?
1
2
3
4
5
//配置模版视图路径
      services.Configure<RazorViewEngineOptions>(options =>
      {
        options.ViewLocationExpanders.Add(new ThemeViewLocationExpander());
      });

到此这篇关于ASP.net中Core自定义View查找位置的实例代码的文章就介绍到这了,更多相关Core自定义View查找位置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/fanfan-90/p/12716694.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
返回顶部