图像的Html辅助方法

时间:2014-07-05 09:15:27

标签: asp.net

我有一个返回图像的控制器:

public sealed class ImageController : Controller
{
  public ActionResult View(Guid id)
  {
    var image = _images.LoadImage(id);
    if (image == null) return HttpNotFound();
    return File(image.Data, image.Mime);
  }
}

目前我正在执行此操作以添加img标记:

<img src="~/Image/View/@Model.ImageId" />

但我不喜欢我正在输入这样的网址。

对于其他操作,有一个Html辅助方法,就像我想要一个指向我可以做的图像的链接:

@Html.ActionLink("View Image", "View", "Image", new {Id = Model.ImageId})

有没有办法可以避免输入Img src的网址?

1 个答案:

答案 0 :(得分:0)

您可以创建自己的扩展方法:

public static MvcHtmlString Image(this HtmlHelper helper,string imageUrl)
{
   string tag = "<img src='{0}'/>";
   tag = string.Format(tag,imageUrl);
   return MvcHtmlString.Create(tag);
}

然后使用它:

@Html.Image(@Model.ImagePath);

或使用您的行动

@ { Html.RenderAction("View","Image",new {id=@Model.ImageId})}