我們在ASP.NET Core MVC項目中,有一個Razor視圖文件Index.cshtml,如下:
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <h1>Index</h1> @{ string name = "Demo label"; int value = 1000; } <div> @{ this.Write($"<div>Name:{name}</div>");//輸出到前端頁面的,不會是原生的html語法,"<"和">"變為了轉義之后的"<"和">" this.Write(Html.Raw($"<div>Name:{name}</div>"));//輸出到前端頁面的,會是原生的html語法 this.Write($"\r\n"); this.Write($"<div>Value:{value}</div>");//輸出到前端頁面的,不會是原生的html語法,"<"和">"變為了轉義之后的"<"和">" this.Write(Html.Raw($"<div>Value:{value}</div>"));//輸出到前端頁面的,會是原生的html語法 } </div> </body> </html>
運行該視圖,頁面如下:
所以,在Razor視圖中使用Html.Raw方法就可以輸出原生的html語法到前端頁面了。