ASP.NET Razor模板引擎中输出Html的两种方式

时间:2021-11-16 08:15:28

本文实例讲述了ASP.NET Razor模板引擎中输出Html的两种方式。分享给大家供大家参考,具体如下:

Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示:

?
1
2
3
4
@{
  string thisTest = "<span style=\"color:#f00;\">qubernet</span>";
}
@thisTest;

这样在页面输出的文本就是:<span style=\"color:#f00;\">qubernet</span>而不是红色的字体了,要输出红色的字体,有下面常用的两种方式:

1. 使用Razor中的Html.Raw(推荐使用这种方式):

?
1
2
3
4
@{
  string thisTest = "<span style=\"color:#f00;\">qubernet</span>";
}
@Html.Raw(thisTest);

2. 使用MvcHtmlString类来实现:

?
1
2
3
4
5
@{
  string thisTest = "<span style=\"color:#f00;\">qubernet</span>";
  var thisResult = new MvcHtmlString(thisTest);
}
@thisResult或@(new HtmlString(thisTest))

希望本文所述对大家asp.net程序设计有所帮助。