ASP.net中Core自定义View查找位置的实例代码
.NETCore的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽。老周主要扯一下大伙伴们在入门的时候可能会疑惑的内容。
ASP.NETCore可以在一个项目中混合使用WebPages和MVC,这是老周最希望的,因为这样会变得更灵活。WebPages类似于我们过去的Web开发方式,以页面为单位,此模型侧重于功能划分。而MVC侧重于数据,有什么样的数据模型就有什么样的Controller,有什么样的Controller就会对应什么样的Action,而Action又会有对应的UI,即View。所以说MVC是以数据为核心的。
PopulateValues():作为一种指定参数的方式存在,您的视图查找将根据每个请求而变化.由于您没有填充它,视图引擎使用先前请求中的缓存值.
publicclassThemeViewLocationExpander:IViewLocationExpander { publicIEnumerableExpandViewLocations(ViewLocationExpanderContextcontext,IEnumerable viewLocations) { stringtheme=context.Values["theme"]; if(string.IsNullOrWhiteSpace(theme)) { theme="default"; } string[]newLocation={$"Views/{theme}/{{1}}/{{0}}.cshtml"}; returnviewLocations.Union(newLocation); } publicvoidPopulateValues(ViewLocationExpanderContextcontext) { context.Values["theme"]=context.ActionContext.HttpContext.Request.Query["theme"].ToString(); } }
//配置模版视图路径 services.Configure(options=> { options.ViewLocationExpanders.Add(newThemeViewLocationExpander()); });
到此这篇关于ASP.net中Core自定义View查找位置的实例代码的文章就介绍到这了,更多相关Core自定义View查找位置内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!