Asp.net mvc MVC RouteLink中的HTML
我有一个这样构造的RouteLinkAsp.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
<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"><em>Sample</em> 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可能不是一个好主意,这违反了模型和表示分离的原则,也是一种安全隐患。这是一种完全不同的方法。