ASP.net中Core自定義View查找位置的實(shí)例代碼
.NET Core 的內(nèi)容處處可見,刷爆全球各大社區(qū),所以,老周相信各位大伙伴已經(jīng)看得不少了,故而,老周不考慮一個(gè)個(gè)知識(shí)點(diǎn)地去寫,那樣會(huì)成為年度最大的屁話,何況官方文檔也很詳盡。老周主要扯一下大伙伴們?cè)谌腴T的時(shí)候可能會(huì)疑惑的內(nèi)容。
ASP.NET Core 可以在一個(gè)項(xiàng)目中混合使用 Web Pages 和 MVC ,這是老周最希望的,因?yàn)檫@樣會(huì)變得更靈活。Web Pages 類似于我們過去的 Web 開發(fā)方式,以頁面為單位,此模型側(cè)重于功能劃分。而 MVC 側(cè)重于數(shù)據(jù),有什么樣的數(shù)據(jù)模型就有什么樣的 Controller,有什么樣的 Controller 就會(huì)對(duì)應(yīng)什么樣的 Action ,而 Action 又會(huì)有對(duì)應(yīng)的 UI,即 View。所以說 MVC 是以數(shù)據(jù)為核心的。
PopulateValues():作為一種指定參數(shù)的方式存在,您的視圖查找將根據(jù)每個(gè)請(qǐng)求而變化.由于您沒有填充它,視圖引擎使用先前請(qǐng)求中的緩存值.
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(); } }
//配置模版視圖路徑 services.Configure<RazorViewEngineOptions>(options => { options.ViewLocationExpanders.Add(new ThemeViewLocationExpander()); });
到此這篇關(guān)于ASP.net中Core自定義View查找位置的實(shí)例代碼的文章就介紹到這了,更多相關(guān)Core自定義View查找位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net UpdatePanel實(shí)現(xiàn)無刷新上傳圖片
UpdatePanel實(shí)現(xiàn)無刷新上傳圖片實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-03-03簡(jiǎn)單談?wù)?NET Core跨平臺(tái)開發(fā)
本文給大家詳細(xì)介紹了如何使用.NET Core進(jìn)行跨平臺(tái)開發(fā),包含簡(jiǎn)單的環(huán)境架設(shè)以及配置,以及使用vs進(jìn)行編譯運(yùn)行項(xiàng)目和注意事項(xiàng),有需要的小伙伴可以參考下2016-07-07ASP.NET之Excel下載模板、導(dǎo)入、導(dǎo)出操作
這篇文章主要介紹了ASP.NET之Excel下載模板、導(dǎo)入、導(dǎo)出操作的相關(guān)資料,需要的朋友可以參考下2016-07-07ASP.NET Core Kestrel 中使用 HTTPS (SSL)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core Kestrel 中使用 HTTPS(SSL)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-09-09asp.net 從客戶端中檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值錯(cuò)誤解
asp.net程序運(yùn)行時(shí)出現(xiàn)以下錯(cuò)誤: “/news”應(yīng)用程序中的服務(wù)器錯(cuò)誤。2009-05-05Queryable.Union 方法實(shí)現(xiàn)json格式的字符串合并的具體實(shí)例
這篇文章介紹了Queryable.Union 方法實(shí)現(xiàn)json格式的字符串合并的具體實(shí)例,有需要的朋友可以參考一下2013-10-10設(shè)置DropDownList的當(dāng)前選項(xiàng)
2008-01-01Server Application Unavailable出現(xiàn)的原因及解決方案小結(jié)
今天在服務(wù)器安裝了個(gè).net 4.0 framework(原本有1.0和2.0的),配置好站點(diǎn)后,選擇版本為4.0,訪問出錯(cuò),asp.net經(jīng)常會(huì)出現(xiàn)這個(gè)問題,這里腳本之家簡(jiǎn)單的給整理下2012-05-05.NET Core 2.0 Preview2 發(fā)布匯總
這篇文章主要為大家詳細(xì)介紹了.NET Core 2.0 Preview2 發(fā)布匯總的相關(guān)內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06vs.net 2010 擴(kuò)展插件小結(jié) 提高編程效率
本文價(jià)紹了幾款Visual Studio提供的插件,提高我們的編程效率。2011-03-03