Je traitais le même problème, mais je voulais continuer à utiliser une aide, car je fabriquais un bouton Ajax.
J'ai fini avec deux méthodes d'assistance, une pour chaque aide:
public static MvcHtmlString IconActionLink(this AjaxHelper helper, string icon, string text, string actionName, string controllerName, object routeValues, AjaxOptions ajaxOptions, object htmlAttributes)
{
var builder = new TagBuilder("i");
builder.MergeAttribute("class", icon);
var link = helper.ActionLink("[replaceme] " + text, actionName, controllerName, routeValues, ajaxOptions, htmlAttributes).ToHtmlString();
return new MvcHtmlString(link.Replace("[replaceme]", builder.ToString()));
}
public static MvcHtmlString IconActionLink(this HtmlHelper helper, string icon, string text, string actionName, string controllerName, object routeValues, object htmlAttributes)
{
var builder = new TagBuilder("i");
builder.MergeAttribute("class", icon);
var link = helper.ActionLink("[replaceme] " + text, actionName, controllerName, routeValues, htmlAttributes).ToHtmlString();
return new MvcHtmlString(link.Replace("[replaceme]", builder.ToString()));
}
Il suffit de les placer dans une classe statique de votre projet, de les compiler et de les voir (vous devrez peut-être ajouter une instruction using sur votre page).
Lorsque vous utilisez l'assistant, vous pouvez utiliser "icon-plus" ou même "icon-plus icon-white" pour la chaîne d'icônes.