C# Net内核,生成以html作为linkText参数的RouteLink

C# Net内核,生成以html作为linkText参数的RouteLink,c#,asp.net-mvc,asp.net-core,.net-core,C#,Asp.net Mvc,Asp.net Core,.net Core,我需要创建一个带有svg图标的链接,我需要使用 RouteLink(this Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper, string linkText, string routeName, object routeValues, object htmlAttributes) 从Microsoft.AspNetCore.Mvc.Rendering 如果我这样做: var link = html.RouteLink("&l

我需要创建一个带有svg图标的链接,我需要使用

RouteLink(this Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper, string linkText, string routeName, object routeValues, object htmlAttributes)
Microsoft.AspNetCore.Mvc.Rendering

如果我这样做:

var link = html.RouteLink("<svg class=\"icon\"><use href=\"#chevron-left\"></use></svg>", model.RouteActionName, model.RouteValues, new { title = "Previous page" });
可以使用Html.Raw()方法

var link=Html.Raw(Html.RouteLink(“”,model.RouteActionName,model.RouteValues,new{title=“Previous page”}));
编辑:

var routelink=html.routelink(“”,model.RouteActionName,model.RouteValues,new{title=“Previous page”});
var link=System.Net.WebUtility.HtmlDecode(routelink.ToHtmlString());

获取URL并自己呈现HTML:

<a href="@html.RouteUrl(Model.RouteActionName, model.RouteValues" title="Previous page">
    <svg class="icon">
        <use href="#chevron-left" />
    </svg>
</a>


否,这也会将
打印为
a
.Hmm。所以,你可以使用这个:System.Web.HttpUtility.HtmlDecode(link)它现在可以为我工作了。试试看。我找到了一个适合我的解决方案,并建议对你的答案稍加修改,谢谢!
<svg class="icon"><use href="#chevron-left"></use></svg>
var link =Html.Raw(html.RouteLink("<svg class=\"icon\"><use href=\"#chevron-left\"></use></svg>", model.RouteActionName, model.RouteValues, new { title = "Previous page" }));
var routelink =html.RouteLink("<svg class=\"icon\"><use href=\"#chevron-left\"></use></svg>", model.RouteActionName, model.RouteValues, new { title = "Previous page" });
var link = System.Net.WebUtility.HtmlDecode(routelink.ToHtmlString());
<a href="@html.RouteUrl(Model.RouteActionName, model.RouteValues" title="Previous page">
    <svg class="icon">
        <use href="#chevron-left" />
    </svg>
</a>