带有不同字体的graphics和文本的ASP.NET动作链接

我想呈现一个@Html.ActionLink的button,但我需要在文本中有我的应用程序字体。

有了这个代码:

 <span> @Html.ActionLink(" Create New", "Create", null, new { @class = "btn btn-warning glyphicon glyphicon-plus-sign" }) </span> 

我得到我的button,但创build新文本出现与glyphicon字体家族。

将字形类放在跨度中不会改变任何东西

您不应该将glyphicon类添加到a-tag。

从Bootstrap网站:

不要与其他组件混合图标类不能与其他组件直接组合。 他们不应该与同一元素上的其他类一起使用。 相反,添加一个嵌套<span>并将图标类应用于<span>

仅用于空元素图标类只能用于不包含文本内容且没有子元素的元素。

换句话说,正确的HTML工作方式就是: <a href="#" class="btn btn-warning">test <span class="glyphicon glyphicon-plus-sign"></span></a>

这使Html.ActionLink帮手不适合。 相反,你可以使用类似于:

 <a href="@Url.Action("Action", "Controller")" class="btn btn-warning"> link text <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span> </a> 

这在MVC 5中适用于我:

 @Html.ActionLink(" ", "EditResources", "NicheSites", new { ViewBag.dbc, item.locale, ViewBag.domainId, domainName = ViewBag.domaiName }, new {@class= "glyphicon glyphicon-edit" }) 

第一个参数不能为空或空白,否则会打击。

只是写出HTML而不是试图使它与HtmlHelper.ActionLink工作可能会更好…

 <span> <a href="@Url.Action("Create")" class="btn btn-warning"> <span class="glyphicon glyphicon-plus-sign"></span> Create New </a> </span> 

这是我的。 受Andrey Burykin启发

 public static class BensHtmlHelpers { public static MvcHtmlString IconLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, String iconName, object htmlAttributes = null) { var linkMarkup = htmlHelper.ActionLink(linkText, actionName, routeValues, htmlAttributes).ToHtmlString(); var iconMarkup = String.Format("<span class=\"{0}\" aria-hidden=\"true\"></span>", iconName); return new MvcHtmlString(linkMarkup.Insert(linkMarkup.IndexOf(@"</a>"), iconMarkup)); } } 

我应该使用@Url.Action的方法而不是@Html.ActionLink ,下面是一个示例代码:

 <span> <a href="@Url.Action("Create", new { @class = "btn btn-warning" })"><span class="glyphicon glyphicon-plus-sign"></span> Create New</a> </span> 

你可以使用简单的扩展:

 private static readonly String SPAN_FORMAT = "<span class=\"{0}\" aria-hidden=\"true\"></span>"; private static readonly String A_END = "</a>"; public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, String iconName, object htmlAttributes = null) { var linkMarkup = htmlHelper.ActionLink(linkText, actionName, routeValues, htmlAttributes).ToHtmlString(); if (!linkMarkup.EndsWith(A_END)) throw new ArgumentException(); var iconMarkup = String.Format(SPAN_FORMAT, iconName); return new MvcHtmlString(linkMarkup.Insert(linkMarkup.Length - A_END.Length, iconMarkup)); } 

用法:

 Html.ActionLink(" ", "DeleteChart", new { Id = _.Id }, "glyphicon glyphicon-trash") 

让我们试试这个。 让我知道它是否工作。谢谢

 <style> span.super a { font: (your application font) !important; } </style> <span class="super"> @Html.ActionLink(" Create New", "Create", null, new { @class = "btn btn-warning glyphicon glyphicon-plus-sign" }) </span> 

如何使用Html.BeginForm与FormMethod.Get / FormMethod.Post

 @using (Html.BeginForm("Action", "Controller", new { Area = "" }, FormMethod.Get, htmlAttributes: new { title = "SomeTitle" })) { <button type="submit" class="btn-link" role="menuitem"> <i class="glyphicon glyphicon-plus-sign"></i>Create New</button> } 

尝试一下!

 @ Html.ActionLink(“Cerrarsesión”,“Login”,“Account”,routeValues:null,htmlAttributes:new {id =“loginLink”,@class =“glyphicon glyphicon-log-in”})

尝试这个。 使用“htmlAttributes”

  @Html.ActionLink(" Create New", "Create", null, htmlAttributes: new { @class = "<your class>",@style="font:<your font>" })