Asp.net mvc MVC RouteLink中的HTML

Asp.net mvc MVC RouteLink中的HTML,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有一个这样构造的RouteLink <p class="articleLink"> @MvcHelper.Html.RouteLink(article.Title, "Article_Route", new RouteValueDictionary() { { "articleId", article.Id }, { "seoUrl", article.SeoUrl } })) </p> <a href="/Article/111111/Sample-T

我有一个这样构造的RouteLink

<p class="articleLink">
    @MvcHelper.Html.RouteLink(article.Title, "Article_Route", new RouteValueDictionary() { { "articleId", article.Id }, { "seoUrl", article.SeoUrl } }))
</p>
<a href="/Article/111111/Sample-Title">&lt;em&gt;Sample&lt;/em&gt; Title</a>

有没有办法防止HTML被转义,而被视为实际的HTML?或者我需要创建一个标准的HTML
如果你想在你的锚中添加HTML,不要使用
HTML.RouteLink
(因为它会像你注意到的那样默认对链接文本进行HTML编码),而不是使用
Url.RouteUrl
手动构建你的
标记来生成Url:

<p class="articleLink">
    <a href="@(Url.RouteUrl("Article_Route",
                   new RouteValueDictionary() 
                      { { "articleId", article.Id }, 
                        { "seoUrl", article.SeoUrl } }))">
        @Html.Raw(article.Title)
    </a>
</p>


或者您可以创建自己的非编码
RouteLink
helper。

您可以使用。话虽如此,在模型/视图模型中保留任何HTML可能不是一个好主意,这违反了模型和表示分离的原则,也是一种安全隐患。

这是一种完全不同的方法。