日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在ASP.NETCoreMVC中使用Razor視圖引擎

ASPX 視圖引擎是在 ASP.NET MVC 中構(gòu)建的傳統(tǒng)視圖引擎。Razor 視圖引擎更高級,現(xiàn)在是 ASP.NET Core MVC 的默認(rèn)視圖引擎。本文簡要比較了這兩種視圖引擎,然后討論如何在 ASP.NET Core MVC 中使用 Razor 視圖引擎。

創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10年品質(zhì),值得信賴!

要使用本文提供的代碼示例,您應(yīng)該在系統(tǒng)中安裝 Visual Studio 2019。

在 Visual Studio 中創(chuàng)建 ASP.NET Core MVC 項(xiàng)目

首先,在 Visual Studio 2019 中創(chuàng)建一個 ASP.NET Core項(xiàng)目。按照這些步驟將在 Visual Studio 2019 中創(chuàng)建一個新的 ASP.NET Core MVC 5 項(xiàng)目。

1. 啟動 Visual Studio IDE。

2. 單擊“創(chuàng)建新項(xiàng)目”。

3. 在“創(chuàng)建新項(xiàng)目”窗口中,從顯示的模板列表中選擇“ASP.NET Core Web App (Model-View-Controller)”。

4. 點(diǎn)擊“下一步”。

5. 在“配置新項(xiàng)目”窗口中,指定新項(xiàng)目的名稱和位置。

6. 根據(jù)您的首選項(xiàng),也可以選中 “將解決方案和項(xiàng)目放置在同一目錄中”復(fù)選框。

7. 點(diǎn)擊“下一步”。

8. 在接下來顯示的“附加信息”窗口中,從頂部的下拉列表中選擇 .NET 5.0 作為目標(biāo)框架。將將“Authentication Type”保留為“None”(默認(rèn))。

9. 確?!癊nable Docker”、“Configure for HTTPS”和“Enable Razor runtime compilation”復(fù)選框未選中,因?yàn)槲覀儾粫谶@里使用任何這些特性。

10. 單擊“創(chuàng)建”。

將創(chuàng)建一個新的 ASP.NET Core MVC 5 項(xiàng)目。在本文的后續(xù)部分中,我們將使用這個項(xiàng)目來處理Razor視圖。

什么是視圖引擎?

視圖引擎將服務(wù)器端模板轉(zhuǎn)換為 HTML 標(biāo)記,并在控制器的操作方法觸發(fā)時在web瀏覽器中呈現(xiàn)它。ASP.NET MVC 最初與 ASPX 視圖引擎一起提供,但后來的版本中添加了 Razor 視圖引擎。Razor 視圖引擎現(xiàn)在是 ASP.NET Core MVC 應(yīng)用程序的默認(rèn)視圖引擎。

雖然 ASPX 視圖引擎作為 System.Web.Mvc.WebFormViewEngine 命名空間的一部分可用,但 Razor 視圖引擎在 Microsoft.AspNetCore.Mvc.Razor 命名空間中可用。

視圖引擎如何工作?

每個視圖引擎包含三個組件:ViewEngine 類、view類和模板解析器。ViewEngine 類擴(kuò)展了 IViewEngine 接口并實(shí)現(xiàn)其成員,這個類負(fù)責(zé)定位視圖模板。view類擴(kuò)展了 IView 接口并實(shí)現(xiàn)了其成員。這個類負(fù)責(zé)將模板與數(shù)據(jù)結(jié)合,然后將其轉(zhuǎn)換為 HTML 標(biāo)記,以便在 Web 瀏覽器中呈現(xiàn)。模板解析器是一個將視圖編譯成可執(zhí)行代碼的解析引擎。

您還可以在 ASP.NET Core 中創(chuàng)建自己的自定義視圖引擎。為此,您需要創(chuàng)建一個類,來擴(kuò)展與 Microsoft.AspNetCore.Mvc.ViewEngines 命名空間相關(guān)的 IView 和 IViewEngine 接口。然后實(shí)現(xiàn) IViewEngine 接口的兩個方法,即 GetView 和 FindView。還可以實(shí)現(xiàn) IView 接口的 RenderAsync 方法。此方法負(fù)責(zé)在運(yùn)行時呈現(xiàn)視圖引擎。

在 ASP.NET Core MVC 中創(chuàng)建新的 Razor 視圖

在上面創(chuàng)建的新 ASP.NET Core MVC 應(yīng)用程序中,讓我們創(chuàng)建一個簡單的視圖。為此,請編輯 HomeController.cs 文件并添加以下代碼:

 
 
 
 
  1. public IActionResult Welcome(){ 
  2.     ViewData["Message"] = "Hello World!"; 
  3.     return View(); 

接下來,在 Views/Home 文件夾中新建一個名為 Welcome.cshtml 的新視圖文件,并輸入以下代碼:

 
 
 
 
  1. @ViewData [ “Message” ] 

刪除 ASP.NET Core MVC 中的默認(rèn)視圖引擎

創(chuàng)建自定義視圖引擎時,可以刪除 Razor 視圖引擎和 ASPX 視圖引擎,然后添加自己的自定義視圖引擎,如下面給出的代碼片段所示。

 
 
 
 
  1. services.AddMvc() 
  2.             .AddViewOptions(options => 
  3.             { 
  4.                 options.ViewEngines.Clear(); 
  5.                 options.ViewEngines.Add(typeof(MyCustomViewEngine)); 
  6.             });  

在 Razor 視圖引擎中使用 if 構(gòu)造

在本節(jié)中,我們將研究如何使用 Razor 語法對視圖進(jìn)行編程。讓我們首先使用一些常見的結(jié)構(gòu),例如 if、if else 和 switch case 語句。
以下代碼片段演示了如何在Razor中使用if語句。

 
 
 
 
  1. @{var x = 10;}          
  2.           @if (x > 5)  
  3.            {             
  4. The value of x is greater than 5. 
  5.  
  6.            }  
  7.          

下一個代碼片段展示了如何在 Razor 中使用 if else 語句。

 
 
 
 
  1. @{var x = 2;}               
  2.           @if (x > 5)  
  3.            {                
  4. The value of x is greater than 5. 
  5.  
  6.            }  
  7.            else  
  8.            {      
  9. The value of x is less than 5. 
  10.  
  11.            }    

在 Razor 視圖引擎中使用 switch case 語句

以下是如何在Razor中使用switch case語句。

 
 
 
 
  1. @{ 
  2. var weekday=DateTime.Now.DayOfWeek.ToString(); 
  3. var text=string.Empty; 
  4. @switch(weekday) 
  5. case "Monday": 
  6.     text="This is the first working day of the week."; 
  7.     break; 
  8. case "Friday": 
  9.     text="This is the last working day of the week"; 
  10.     break; 
  11. default: 
  12.     text="Today is: " + weekday; 
  13.     break; 
  14. @text 

如果當(dāng)天是星期一,當(dāng)您運(yùn)行該應(yīng)用程序時,您將在 Web 瀏覽器中看到以下輸出。

圖 1. 運(yùn)行中的 Razor 視圖

在 Razor 視圖引擎中使用循環(huán)

您可以在 Razor 視圖中使用循環(huán)來執(zhí)行重復(fù)操作。以下代碼片段演示了如何在 Razor 中使用循環(huán)。 

 
 
 
 
  1.   
  2.   
  3.      

    Displaying numbers 1 to 10

     
  4.           @for(var i = 1; i <= 10; i++)  
  5.            {               
  6.               

    @i

     
  7.            }  
  8.   
  9.   
  10.    

在處理集合時,可以利用 foreach 循環(huán)。以下代碼片段演示了如何顯示與 Request.Headers 集合相關(guān)的所有鍵。

 
 
 
 
  1.   
  2.  
    •  
    • @foreach (var k in this.Context.Request.Headers) 
    •     { 
    •         
    • @k.Key
    •  
    •     } 
     
  3.  
  4.  

如果想要在視圖中使用模型,應(yīng)該創(chuàng)建一個模型類,如下面給出的代碼片段所示。

 
 
 
 
  1. public class Author 
  2.     { 
  3.         public int Id { get; set; } 
  4.         public string FirstName { get; set; } 
  5.         public string LastName { get; set; } 
  6.     }  

為簡單起見,在 Models 解決方案文件夾中創(chuàng)建model類。可以在視圖中使用此模型,如下面給出的代碼片段所示:

 
 
 
 
  1. @model Author      
                
    • Author Id: @Model.Id
    •           
    • First Name: @Model.FirstName
    •           
    • LastName: @Model.LastName
    •       
        

Razor 視圖引擎比以前版本更高級,為從模板生成 HTML 代碼提供了更友好的語法。請注意,Razor 是一個通用模板引擎——您可以在任何地方使用它來呈現(xiàn) HTML。
您還可以在 ASP.NET Core MVC 中使用第三方視圖引擎,例如 Spark、SharpDOM 和 NDjango。

【譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為.com】


當(dāng)前標(biāo)題:如何在ASP.NETCoreMVC中使用Razor視圖引擎
當(dāng)前路徑:http://www.dlmjj.cn/article/cdgccih.html