我正在设置一个新的ASP.NET服务器,并希望放入来自我自己的过滤方法的结果的HTML,因为我已经在使用自己的过滤方法。但是使用@
会使用ASP.NET的清理方法自动清理代码,我不希望这样。
我曾尝试使用@
符号在Razor Page中使用C#,但它一直使用ASP.NET的清理方法。
public string GetFormattedName(string name)
{
// Sanitize user input
return name.Replace("<",">"); // And do my own fancy sanitization.
}
<h3>@Model.GetFormattedName("<strong class="bold-tag">etc</strong>")</h3>
呈现的HTML看起来像:
<strong class="bold-tag">etc</strong>
但应该是
等
(呈现为HTML)
我还有一种特殊的颜色代码语法,如下所示:
[color:ff0000][/color]
我希望它仍然可以工作,并且不使用ASP.NET的清理方法
答案 0 :(得分:0)
尝试投射到IHtmString。
呈现为:
<h3>@Html.Raw(Model.GetFormattedName("<strong class="bold-tag">etc</strong>"))</h3>
答案 1 :(得分:0)
只需使用Html.Raw
尝试以下示例:
<h3>@Html.Raw(@"<strong class=""bold-tag"">etc</strong>")</h3>
应呈现为:
<h3><strong class="bold-tag">etc</strong></h3>