1
 Html.ActionLink("", "ActionResult", new { CustomerId= DataBinder.Eval(c.DataItem, "CustomerId") }, new { target = "_blank", @style = "background-image:url(/Image/edit.png); width:50px; height:30px;" }));

やあ、

actionlink の画像を設定しようとしましたが、常に空です。

画像を html.actionlink に設定するにはどうすればよいですか?

actionlinkを画像(画像ボタン)のように見せたい

注 : hrefなどを提供しないでください。

どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

1

コメントで述べたように、要素が として表示するように設定されているため、テキストを提供していない場合、画像は表示されませんinline。テキストがない場合、要素のスタイルで指定されているプロパティに関係なく、要素にはサイズがありませんwidthheightこれを修正するには、要素を次のように表示するように設定しますinline-block

(Html.ActionLink(
    "",
    "ActionResult",
    new {
        CustomerId= DataBinder.Eval(c.DataItem, "CustomerId")
    },
    new {
        target = "_blank",
        @style = "
            background-image:url(/Image/edit.png);
            display:inline-block;
            width:50px;
            height:30px;
        "
    })
);
于 2013-10-30T16:04:27.870 に答える
0

ネットで見つけた手作りの Html Helper を使用しています。

/// <summary>
/// Html helper that displays an image.
/// </summary>
/// <param name="_helper"></param>
/// <param name="_url"></param>
/// <param name="_altText"></param>
/// <param name="_clickMethod"></param>
/// <param name="_htmlAttributes"></param>
/// <returns></returns>
public static MvcHtmlString ImageClick(this HtmlHelper _helper, string _id, string _url, string _altText, string _clickMethod, object _htmlAttributes)
{
    TagBuilder builder = new TagBuilder("image");

    var path = _url.Split('?');

    string pathExtra = "";

    if (path.Length > 1)
    {
        pathExtra += "?" + path[1];
    }

    builder.Attributes.Add("src", VirtualPathUtility.ToAbsolute(path[0]) + pathExtra);
    builder.Attributes.Add("alt", _altText);
    if (!String.IsNullOrEmpty(_clickMethod))
    {
        builder.Attributes.Add("onclick", _clickMethod + "()");
    }

    builder.GenerateId(_id);

    builder.MergeAttributes(new RouteValueDictionary(_htmlAttributes));
    return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}

それが役立つことを願っています!

于 2013-10-30T15:39:05.993 に答える