您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#中Razor模板引擎怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C#中Razor模板引擎怎么使用”吧!
使用視圖引擎可以完成一些需要定制化內(nèi)容格式的問(wèn)題,比如郵件模板。
install-package RazorEngine
public class TestDemo { private string name; public int Age { get => age; set => age = value; } public string Name { get => name; set => name = value; } private int age; }
string template = @" @if(Model!=null){ foreach(var item in Model){ <text>姓名:@item.Name,年齡:@item.Age</text> } }else{ <text>沒(méi)有數(shù)據(jù)</text> } "; var data = new List<TestDemo>() { new TestDemo(){Name="張三",Age=10 }, new TestDemo(){Name="張四",Age=11 }, new TestDemo(){Name="馬武",Age=30 } }; var html= Razor.Parse(template, data); //輸出 //姓名:張三,年齡:10 //姓名:張四,年齡:11 //姓名:馬武,年齡:30 var html1 = Razor.Parse(template, null); //輸出 //沒(méi)有數(shù)據(jù)
補(bǔ)充:下面看下Razor模板引擎(C#版)語(yǔ)法
Razor 是一種標(biāo)記語(yǔ)法,可以讓您將基于服務(wù)器的代碼(Visual Basic 和 C#)嵌入到網(wǎng)頁(yè)中。
基于服務(wù)器的代碼可以在網(wǎng)頁(yè)傳送給瀏覽器時(shí),創(chuàng)建動(dòng)態(tài) Web 內(nèi)容。當(dāng)一個(gè)網(wǎng)頁(yè)被請(qǐng)求時(shí),服務(wù)器在返回頁(yè)面給瀏覽器之前先執(zhí)行頁(yè)面中的基于服務(wù)器的代碼。通過(guò)服務(wù)器的運(yùn)行,代碼能執(zhí)行復(fù)雜的任務(wù),比如進(jìn)入數(shù)據(jù)庫(kù)。
Razor 是基于 ASP.NET 的,是為創(chuàng)建 Web 應(yīng)用程序而設(shè)計(jì)的。它具有傳統(tǒng) ASP.NET 的功能,但更容易使用并且更容易學(xué)習(xí)。
Razor 是一種將服務(wù)器代碼嵌入在網(wǎng)頁(yè)中的簡(jiǎn)單的編程語(yǔ)法。
Razor 語(yǔ)法是基于 ASP.NET 框架,專(zhuān)門(mén)用于創(chuàng)建 Web 應(yīng)用程序的部分 Microsoft.NET 框架。
Razor 語(yǔ)法支持所有 ASP.NET 的功能,但是使用的是一種簡(jiǎn)化語(yǔ)法,對(duì)初學(xué)者而言更容易學(xué)習(xí),對(duì)專(zhuān)家而言更有效率的。
Razor 網(wǎng)頁(yè)可以被描述成帶以下兩種類(lèi)型內(nèi)容的 HTML 網(wǎng)頁(yè): HTML 內(nèi)容和 Razor 代碼。
當(dāng) 服務(wù)器讀取頁(yè)面時(shí),它首先運(yùn)行 Razor 代碼,然后再發(fā)送 HTML 頁(yè)面到瀏覽器。在服務(wù)器上執(zhí)行的代碼能夠執(zhí)行一些在瀏覽器上不能完成的任務(wù),比如,訪問(wèn)服務(wù)器數(shù)據(jù)庫(kù)。服務(wù)器代碼能創(chuàng)建動(dòng)態(tài)的 HTML 內(nèi)容,然后發(fā)送到瀏覽器。從瀏覽器上看,服務(wù)器代碼生成的 HTML 與靜態(tài)的 HTML 內(nèi)容沒(méi)有什么不同。
Razor 代碼塊包含在 @{ ... } 中 。 (和asp的<% %>相似),注意代碼塊中除了C#代碼,html也是允許的
內(nèi)聯(lián)表達(dá)式(變量和函數(shù))以 @ 開(kāi)頭 (html中引用變量、對(duì)象需要使用@引用)
代碼語(yǔ)句用分號(hào)結(jié)束
變量使用 var 關(guān)鍵字聲明 (類(lèi)型推斷)
字符串用引號(hào)括起來(lái)
C# 代碼區(qū)分大小寫(xiě)
C# 文件的擴(kuò)展名是 .cshtml
語(yǔ)法補(bǔ)充:
1、if for foreach while 都是代碼塊 ,用@if{} @for(){} 使用 ,或者放在代碼塊中使用 @{ if(){} }
2、讀取用戶輸入:Request[] ;數(shù)據(jù)轉(zhuǎn)換: AsInt()、AsDecimal()等
代碼塊中輸出非html和非變量?jī)?nèi)容:<text>我是要輸出的內(nèi)容</text> 或: @:我是要輸出的內(nèi)容 (內(nèi)容里也可以輸出變量 @變量名)
代碼塊中輸出內(nèi)容:同在html中 使用 @變量名(不需要冒號(hào))
在調(diào)用 返回IHtmlString類(lèi)型的方法不需要“;”,也不需要在代碼塊中。如:@RenderPage() 、 @Html.Partial()等
只有在代碼塊中{}使用C#代碼需要“;” 類(lèi)似@RenderPage("~/Views/Shared/PartialOne.cshtml", new {lxf= "小飛哥"})這樣輸出內(nèi)容的方法后面不需要加“;”
html中輸出變量 如:@a 在@a前后如有內(nèi)容時(shí)請(qǐng)加上括號(hào): @(a)
感謝各位的閱讀,以上就是“C#中Razor模板引擎怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)C#中Razor模板引擎怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。