我正在尝试将 css 类添加到 @html.actionlink 并且不想使用链接中的文本。我想改用图形。
这是我的代码:
@Html.ActionLink("Edit", "PopupReferenceEdit", new { id = item.VolunteerReferenceID }, new { @class = "Grid-editor" })
当我删除“编辑”时出现错误。是否可以使用此语句并为链接提供图标/图像?感谢您回答这个新手问题。安迪
我正在尝试将 css 类添加到 @html.actionlink 并且不想使用链接中的文本。我想改用图形。
这是我的代码:
@Html.ActionLink("Edit", "PopupReferenceEdit", new { id = item.VolunteerReferenceID }, new { @class = "Grid-editor" })
当我删除“编辑”时出现错误。是否可以使用此语句并为链接提供图标/图像?感谢您回答这个新手问题。安迪
我认为一个更好的方法是为它创建一个扩展方法,在你的帮助文件夹中使用这些重载,然后在你的视图中使用它。只是取决于个人喜好
public static class ImageActionLinkHelper
{
public static string ImageActionLink(this HtmlHelper helper, string ImageUrl, string altText, string actionName, object routeValues)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", ImageUrl);
builder.MergeAttribute("alt", altText);
builder.MergeAttribute("title", altText);
var link = helper.ActionLink("[replaceme]", actionName, routeValues, new { @class = "imgicon" });
return link.ToString().Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing));
}
public static string ImageActionLink(this HtmlHelper helper, string ImageUrl, string altText, string actionName, object routeValues, string Id, string display)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", ImageUrl);
builder.MergeAttribute("alt", altText);
builder.MergeAttribute("title", altText);
var link = helper.ActionLink("[replaceme]", actionName, routeValues, new { @class = "imgicon", id = Id, style = display });
return link.ToString().Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing));
}
使用它
@Html.ImageActionLink("../../Content/images/edit.png", "Edit", "Edit", new { id = item.UserId})