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语法到前端页面了。

猜你喜欢

转载自www.cnblogs.com/OpenCoder/p/11199390.html