C# Net内核,生成以html作为linkText参数的RouteLink
我需要创建一个带有svg图标的链接,我需要使用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
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>