HTML.Raw是做什么用的?

14
HTML.raw()方法是专门用于MVC的吗?我们在哪些情况下需要使用它?
请举一个例子进行解释。

1
请查看:http://www.arrangeactassert.com/using-html-raw-in-asp-net-mvc-razor-views/ - Yair Nevet
4个回答

24

通常情况下,文本输出将进行HTML编码。使用Html.Raw可以使包含HTML元素的文本输出到客户端,并仍按照其原样呈现。但应谨慎使用,因为它会让您面临跨站点脚本攻击的风险。


“谨慎使用”,意思是在将HTML传递给Html.Raw之前,请确保信任HTML不会对页面进行任何您不想要的操作,或者对其进行清理以符合您的标准。 - Tom Blodget

9

HtmlHelper.Raw MSDN

使用HtmlString实例包装HTML标记,以便将其解释为HTML标记。


8

Html.Raw

  • 将 HTML 标记封装在 HtmlString 实例中,以便将其解释为 HTML 标记。

例如:

控制器(Controller)

public actionresult Htmlraw()
{
viewbag.message = "Hey friends lets go" + "<br />" + "for chillout";
return view();
}

索引视图

@Html.Raw(ViewBag.message);

输出

嘿,朋友们一起去放松吧。

为了放松而去。


1

是的,它是特定于MVC的。

它会将未编码的HTML写入您的页面。 大多数其他方法在将字符串写入页面时会对其进行HTML编码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接