用里面的图像构建一个ActionLink(bootstrap)

时间:2015-08-03 19:59:16

标签: asp.net-mvc

经过一些研究,我无法从我的问题中找到一个好的答案。

我有一个帮助方法来创建一个带有“+”符号和标签的动作链接:

    public static HtmlString NewButton(this IHtmlHelper htmlHelper)
    {
        var htmlAttributes = new { @class = "btn btn-small btn-primary" };
        return htmlHelper.ActionLink("Insert", "Create", null, new RouteValueDictionary(), htmlAttributes);
    }

如何以我最终的html看起来像这样的方式包含“+”符号?

<a href="/posts/new" class="btn btn-small btn-primary">
    <i class="ace-icon fa fa-plus"></i>
    Insert
</a>

在我的页面中,我使用了这样的帮助:

<div class="form-actions">
    @Html.NewButton()
</div>

2 个答案:

答案 0 :(得分:1)

我找到的唯一方法是将“Url”对象传递给我的方法,如下所示:

public static HtmlString NewButton(this IHtmlHelper htmlHelper, IUrlHelper url)
{
    var link = url.Action("Create");
    var el = string.Format("<a href = \"{0}\" class='btn btn-small btn-primary'><i class='ace-icon fa fa-plus'></i>Insert</a>", link);
    return new HtmlString(el);
}

在我看来,我这样使用它:

@Html.NewButton(Url)

我没有使用ActionLink

答案 1 :(得分:0)

你本身不可以。但是,没有任何说明你必须使用Html.ActionLink。简而言之,请改用Url.Action,然后手动构建代码:

<a href="@Url.Action("Insert", "Create")" class="btn btn-small btn-primary">
    <i class="ace-icon fa fa-plus"></i>
    Insert
</a>