ASP.NET Core MVC的Razor视图中,使用Html.Raw方法输出原生的html

我们在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语法,"<"和">"变为了转义之后的"&lt;"和"&gt;"             this.Write(Html.Raw($"<div>Name:{name}</div>"));//输出到前端页面的,会是原生的html语法             this.Write($"\r\n");

            this.Write($"<div>Value:{value}</div>");//输出到前端页面的,不会是原生的html语法,"<"和">"变为了转义之后的"&lt;"和"&gt;"             this.Write(Html.Raw($"<div>Value:{value}</div>"));//输出到前端页面的,会是原生的html语法         }
    </div>
</body>
</html>

运行该视图,页面如下:

分享图片

所以,在Razor视图中使用Html.Raw方法就可以输出原生的html语法到前端页面了。

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...