日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

C#中Razor模板引擎簡(jiǎn)單使用_C#教程

作者:Mr.?Hu ? 更新時(shí)間: 2022-04-28 編程語(yǔ)言

使用視圖引擎可以完成一些需要定制化內(nèi)容格式的問題,比如郵件模板。

引用

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){
姓名:@item.Name,年齡:@item.Age
                    }
                }else{
沒有數(shù)據(jù)
}
                ";
            var data = new List() {
                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);
            //輸出
            //沒有數(shù)據(jù)

補(bǔ)充:下面看下Razor模板引擎(C#版)語(yǔ)法

Razor模板引擎語(yǔ)法

1、簡(jiǎn)介:

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ù)器的代碼。通過服務(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í)。

2、原理:

Razor 是一種將服務(wù)器代碼嵌入在網(wǎng)頁(yè)中的簡(jiǎn)單的編程語(yǔ)法。

Razor 語(yǔ)法是基于 ASP.NET 框架,專門用于創(chuàng)建 Web 應(yīng)用程序的部分 Microsoft.NET 框架。

Razor 語(yǔ)法支持所有 ASP.NET 的功能,但是使用的是一種簡(jiǎn)化語(yǔ)法,對(duì)初學(xué)者而言更容易學(xué)習(xí),對(duì)專家而言更有效率的。

Razor 網(wǎng)頁(yè)可以被描述成帶以下兩種類型內(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ù)器數(shù)據(jù)庫(kù)。服務(wù)器代碼能創(chuàng)建動(dòng)態(tài)的 HTML 內(nèi)容,然后發(fā)送到瀏覽器。從瀏覽器上看,服務(wù)器代碼生成的 HTML 與靜態(tài)的 HTML 內(nèi)容沒有什么不同。

3、語(yǔ)法規(guī)則:

Razor 代碼塊包含在 @{ ... } 中 。 (和asp的<% %>相似),注意代碼塊中除了C#代碼,html也是允許的
內(nèi)聯(lián)表達(dá)式(變量和函數(shù))以 @ 開頭 (html中引用變量、對(duì)象需要使用@引用)
代碼語(yǔ)句用分號(hào)結(jié)束
變量使用 var 關(guān)鍵字聲明 (類型推斷)
字符串用引號(hào)括起來(lái)
C# 代碼區(qū)分大小寫
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)容:我是要輸出的內(nèi)容 ?或: @:我是要輸出的內(nèi)容 ? ? ?(內(nèi)容里也可以輸出變量 ?@變量名)

代碼塊中輸出內(nèi)容:同在html中 ?使用 ?@變量名(不需要冒號(hào))

在調(diào)用 返回IHtmlString類型的方法不需要“;”,也不需要在代碼塊中。如:@RenderPage() 、 @Html.Partial()等

?只有在代碼塊中{}使用C#代碼需要“;” ? 類似@RenderPage("~/Views/Shared/PartialOne.cshtml", new {lxf= "小飛哥"})這樣輸出內(nèi)容的方法后面不需要加“;”

html中輸出變量 ?如:@a ? ?在@a前后如有內(nèi)容時(shí)請(qǐng)加上括號(hào): @(a)

原文鏈接:https://www.cnblogs.com/huhangfei/p/8917326.html

欄目分類
最近更新