MVC RouteLink中的HTML

Mic*_*elS 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>
Run Code Online (Sandbox Code Playgroud)

但是,article.Title可能包含HTML,即值可能<em>Sample</em> Title反过来如此呈现

<a href="/Article/111111/Sample-Title">&lt;em&gt;Sample&lt;/em&gt; Title</a>
Run Code Online (Sandbox Code Playgroud)

有没有办法阻止HTML被转义,而是被视为实际的HTML?或者<a href...在这种情况下我是否需要创建标准的HTML 链接(从而失去与RouteLink助手相关的所有细节).

nem*_*esv 6

如果你想在你的锚内部使用HTML,那么不要使用Html.RouteLink(因为默认情况下会对链接文本进行HTML编码),而不是a使用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>
Run Code Online (Sandbox Code Playgroud)

或者您可以创建自己的非编码RouteLink助手.