Вставить Glyphicons bootstrap в @Html.ActionLink mvc asp.net

Введем Glyphicons Boostrap вместо "Изменить" в приведенном ниже коде. Не могли бы вы привести мне пример.

@Html.ActionLink("Edit", "Edit", new { id = Model.id_rod }) |

Воспроизведение изображения вместо записи.

Ответ 1

Если вы используете Bootstrap 3:

<a href="@Url.Action("Edit", new { id = Model.id_rod })">
    <i class="glyphicon glyphicon-pencil"></i>
    <span class="sr-only">Edit</span>
</a>

Обратите внимание, что использование sr-only позволит пользователям считывателей экрана и поисковых систем знать, для чего предназначена ссылка.

Ответ 2

Я сделал помощником для более легкого повторного использования

Вспомогательный метод Расширяемый класс

namespace Extensions {
    public static class HtmlExtensions {
        public static MvcHtmlString FALink(this HtmlHelper htmlHelper, string action, string controller, string link_text, string fa_class, string btn_css_classes = "", string button_id = "", object route_values = null) {
                // declare the span for the glyphicon                
                TagBuilder span = new TagBuilder("span");
                span.AddCssClass($"fa fa-{fa_class}");
                span.MergeAttribute("aria-hidden", "true");         

                // declare the anchor tag
                TagBuilder anchor = new TagBuilder("a");
                // Add the href attribute to the <a> element
                if (string.IsNullOrEmpty(controller) || string.IsNullOrEmpty(action))
                    anchor.MergeAttribute("href", "#");
                else         
                    anchor.MergeAttribute("href", new UrlHelper(HttpContext.Current.Request.RequestContext).Action(action, controller, route_values));

                // Add the <span> element and the text to the <a> element
                anchor.InnerHtml = $"{span} {link_text}";
                anchor.AddCssClass(btn_css_classes);
                anchor.GenerateId(button_id);
                // Create the helper
                return MvcHtmlString.Create(anchor.ToString(TagRenderMode.Normal));    
        }
    }
}

Убедитесь, что вы включили пространство имен в представление, поэтому метод доступен

Пример использования в Razor View (оставить поле пустой строки, если ваши не используемые области)

@Html.FALink("Index", "ControllerNameHere", "Back to List", "th-list", "btn btn-info", "btn_back_to_list", new {area=""})
  • Пока я использую Font Awesome, вы можете легко заменить fa классом glyphicon для использования глифов-бутстрапов.
  • Если контроллер или действие не переданы, он использует # в качестве места ссылки, поэтому он будет хорошо играть с отключенным взаимодействием