ASP.net中Core如何自定义View查找位置-创新互联

这篇文章主要介绍“ASP.net中Core如何自定义View查找位置”,在日常操作中,相信很多人在ASP.net中Core如何自定义View查找位置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP.net中Core如何自定义View查找位置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为眉县企业提供专业的网站制作、做网站眉县网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

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

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

public class ThemeViewLocationExpander : IViewLocationExpander
  {
    public IEnumerable ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable 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();
    }
  }
//配置模版视图路径
      services.Configure(options =>
      {
        options.ViewLocationExpanders.Add(new ThemeViewLocationExpander());
      });

到此,关于“ASP.net中Core如何自定义View查找位置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前标题:ASP.net中Core如何自定义View查找位置-创新互联
文章链接:http://myzitong.com/article/ceocho.html