Insert Glyphicons bootstrap in @Html.ActionLink mvc asp.net

后端 未结 2 559
慢半拍i
慢半拍i 2021-01-04 12:13

Would enter Glyphicons Boostrap instead of \"Edit\" in the code below. Could you give me an example to do.

@Html.ActionLink(\"Edit\", \"Edit\", new { id = Mo         


        
相关标签:
2条回答
  • 2021-01-04 12:37

    If using 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>
    

    Note the use of sr-only will allow users of screen readers and search engines to know what the link is for.

    0 讨论(0)
  • 2021-01-04 12:37

    I made helper for easier re-use

    Helper Method Extension class

    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));    
            }
        }
    }
    

    Make sure you include the namespace in the View so method is available

    Example usage in Razor View (Leave area empty string if your not using areas)

    @Html.FALink("Index", "ControllerNameHere", "Back to List", "th-list", "btn btn-info", "btn_back_to_list", new {area=""})
    
    • While I use Font Awesome you could easily replace fa with glyphicon class to use the bootstrap glyphicons.
    • If no controller or Action is passed in, it uses # as the link location so it will play nice with drop down interaction
    0 讨论(0)
提交回复
热议问题