0

我的项目中有这个插件:ImageResizer.FluentExtensions.Mvc。这个插件包含一个助手:Html.BuildImage,这个助手包含多个参数,我使用了参数: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:对不起我的英语

4

1 回答 1

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());
}

这两个都完全忽略了alternateTextandhtmlAttributes参数,所以传递它们是没有用的。

为了设置标题和类,您需要以不同的方式构建图像,或者手动更改BuildImage.

于 2013-04-02T17:30:39.780 回答