欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

.NETMVCRazor怎么用

.NET MVC Razor怎么用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創(chuàng)新互聯(lián)長期為數千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為鐵力企業(yè)提供專業(yè)的成都網站建設、成都網站制作,鐵力網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發(fā)。

忙碌的工作總是占據了生活的大部分的時間!所以我的博客到現在還是寥寥的幾篇文章,技術是用來分享和學習的,對技術有不同的見解,大家都可以分享下,如果如下文章有問題之處請各位指出來,在這個閑下來的時間給大家說說mvc Razor除了在視圖上解析外,一樣可以這樣用。

在有些項目需求上或許需要根據模板生產靜態(tài)頁面,那么你一樣可以用Razor語法去直接解析你的頁面從而把解析的頁面生成靜態(tài)頁,首先介紹下RazorEngine,在nuget上可以直接引用到項目上,這個東西通俗的來講就是可以在任何地方解析razor語法,個人覺得要比 NVelocity靈活好用很多。在codeplex上有介紹,現在好像搬到Github上了,鏈接http://razorengine.codeplex.com/,***的版本在Github上,大家可以看看,使用上很方便,如下:

string template = "Hello @Model.Name! Welcome to Razor!";    string result = Razor.Parse(template, new { Name = "World" });

就這么簡單你就可以不只在視圖頁面上使用Razor了,它完全支持動態(tài)類型,如下:

dynamic ViewBag = new DynamicViewBag();   ViewBag.list = "流年莫逝";  string template = "Hello Word @ViewBag.list";  string result = Razor.Parse(template,null,ViewBag,Guid.NewGuid().ToString());

一樣可以解析出來,看源碼活著是VS的智能提示你可以看到Razor.Parse后面需要傳遞的參數類型,只要對號入座就行了,它是支持cache的,當然它的這種cache我個人理解的并不是那種數據緩存的cache,如上面dynamic類型的解析Razor.Parse我是演示用的Guid,但是你可以用其他的string字符,如果你下次預編譯模板的時候還是用的這個名字的話就會直接取cache里的模板來做解析,這樣減少了解析時間,這是我的個人理解,目前還沒有深入的去研究。

RazorEngine還支持自定義模板,如下代碼:

//自定義模板   public class MyTemplateBase<T> : TemplateBase<T>   {         public string GetStr()          {                 return "流年莫逝";          }  }   //注冊自定義模板   public class CustomTemplate : TemplateService    {          public CustomTemplate()          {              var Service = new RazorEngine.Configuration.TemplateServiceConfiguration();              Service.BaseTemplateType = typeof(MyTemplateBase<>);              var MyTemplate = new TemplateService(Service);              Razor.SetTemplateService(MyTemplate);          }  }

簡單介紹下啊,上面那個是自定義的模板,里面你可以按你的需求寫相應的方法,這樣在解析的時候你一樣可以使用你的方法,比方我的是返回的字符串,你用@GetStr()一樣可以得到你的返回值,另外你的自定義模板一樣要繼承TemplateBase<T>,我看了它的源碼不知道為什么一樣要帶上一個泛型,想研究的可以自己看看,注冊模板后你就可以使用了,

CustomTemplate service = new CustomTemplate();  return service.Parse(Content, null, ViewBag, Guid.NewGuid().ToString());

按這種方法就可以解析了,Razor.Parse方法是TemplateService類里面的一個虛方法,是支持自己重寫的,所以在注冊的時候你繼承了這個TemplateService類,就是可以實現你想要的了!

看到官網上有很多提問為什么不能用@Html.Raw()等這些方法,其實你要是仔細看源碼的話是可以支持的,只是換了個寫法你可以直接用@Raw()來進行輸出,就簡單介紹這么多吧,其實RazorEngine還有很多功能的,但是目前以上幾種完全夠解析頁面用了!

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

本文標題:.NETMVCRazor怎么用
標題鏈接:http://www.aaarwkj.com/article38/ipdisp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、微信公眾號品牌網站建設、網頁設計公司網站設計、響應式網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網站建設
亚洲国产成人午夜精品| 玩弄丰满熟妇留守妇女| 精品亚洲第一区二区免费在线| 美女午夜福利一区二区| 久久成人免费在线电影| 精品啪在线观看国产熟女| 丝袜美腿蜜汁一龙二凤| 日韩视频精品推荐一区二区| 欧亚日韩精品一区二区在线| 国产伦理在线观看一区二区| 一本久道久久综合狠狠老| 成年人性生活网站视频| 国产一级二级三级久久| 亚洲一区精品二人人爽久久| 色综合天天综合天天更新| 国产视频成人免费观看| 久久亚洲一本综合久久| 日韩在线不卡av一区二区| 大胆丰满邻居少妇在线观看| 极品少妇一级人妻av| 国产一区二区精品不卡| 欧美午夜一级特黄大片| 精品视频美女肉体亚洲| 中文字幕一区二区精品区| 人妻在线中文字幕一区| 亚洲欧美日韩另类精品一区二区三区| 又黄又湿又刺激中文字幕| 日韩精品少妇一区二区在线看| 亚洲欧美精品专区极品| 一区二区三区视频免费观看| 国产精品国产不卡在线| 国欧美一区二区三区| 国产一区二区欧美久久| 男人天堂av网在线观看| 亚洲午夜福利天堂社区| 久久夜色精品亚洲国产| 欧美生活一区二区三区| 亚洲激情久热中文字幕| 中文字幕日韩人妻一二三区| 人妻少妇久久中文字幕久久| 成人欧美黑人一区二区|