我有一个像这样构建的RouteLink
<p class="articleLink">
@MvcHelper.Html.RouteLink(article.Title, "Article_Route", new RouteValueDictionary() { { "articleId", article.Id }, { "seoUrl", article.SeoUrl } }))
</p>
但是,article.Title
可能包含HTML,即值<em>Sample</em> Title
,而<a href="/Article/111111/Sample-Title"><em>Sample</em> Title</a>
则会像这样呈现
<a href...
有没有办法阻止HTML被转义,而是被视为实际的HTML?或者在这种情况下我是否需要创建标准的HTML {{1}}链接(从而失去与RouteLink助手相关的所有细节)。
答案 0 :(得分:6)
如果你想在你的主播内部使用HTML,请不要使用Html.RouteLink
(因为默认情况下会对链接文本进行HTML编码),而不是使用{手动构建a
标记{1}}生成网址:
Url.RouteUrl
或者您可以创建自己的非编码<p class="articleLink">
<a href="@(Url.RouteUrl("Article_Route",
new RouteValueDictionary()
{ { "articleId", article.Id },
{ "seoUrl", article.SeoUrl } }))">
@Html.Raw(article.Title)
</a>
</p>
帮助程序。
答案 1 :(得分:-1)
您可以使用HtmlHelper.Raw()。话虽如此,在模型/视图模型中保留任何HTML可能不是一个好主意,这违反了模型和表示的分离原则,也存在安全隐患。