Html.BuildImage param htmlAttributes

时间:2013-04-02 16:58:31

标签: c# asp.net-mvc image html-helper

我有这个插件:我的项目中的ImageResizer.FluentExtensions.Mvc。 这个插件包含一个帮助:Html.BuildImage,这个帮助包含多个参数,我使用了param:htmlAttributes但不适用于我,我的代码:

@Html.BuildImage("~/content/images/produto-foto/"+ (fotoPrincipal != null ? fotoPrincipal.FotoID : 0) + ".jpg", builder => builder.Resize(img => img.Dimensions(224,187)),Model.title, new {@class="img-produto"})

这是我编译的html响应:

<img src="/content/images/produto-foto/8.jpg?width=224&amp;height=187" alt="">

有没有人知道我做错了什么?

PS:抱歉我的英文

1 个答案:

答案 0 :(得分:0)

您已将https://github.com/benfoster/ImageResizer.FluentExtensions作为Html.BuildImage实施的来源链接。我可以在那里找到这种方法的两种实现。

public static MvcHtmlString BuildImage(this HtmlHelper html, string src, Action<ImageUrlBuilder> configure, string alternateText = "", object htmlAttributes = null)
{
  var imageUrl = html.CreateUrlHelper().ImageUrl(src, configure);
  return html.Image(imageUrl.ToString());
}

public static MvcHtmlString BuildImage(this HtmlHelper html, string src, ImageUrlBuilder builder, string alternateText = "", object htmlAttributes = null)
{
  var imageUrl = html.CreateUrlHelper().ImageUrl(src, builder);
  return html.Image(imageUrl.ToString());
}

这两个都完全忽略了alternateTexthtmlAttributes参数,因此传递它们是没用的。

要设置标题和类,您需要以不同方式构建图像,或手动更改BuildImage的输出。