1

@ html.actionlinkにcssクラスを追加しようとしていますが、リンクで使用されているテキストを使用したくありません。代わりにグラフィックを使用したいと思います。

これが私のコードです:

@Html.ActionLink("Edit", "PopupReferenceEdit", new { id = item.VolunteerReferenceID }, new { @class = "Grid-editor" })

「編集」を削除するとエラーが発生します。このステートメントを使用して、リンクのアイコン/画像を作成することは可能ですか?この初心者の質問への回答をありがとう。アンディ

4

1 に答える 1

0

これに対するより良いアプローチは、ヘルパーフォルダーでこれらのオーバーロードを使用して拡張メソッドを作成し、それをビューで使用することだと思います。ただ個人的な好みに依存します

  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})
于 2012-06-04T11:36:33.530 に答える