Asp.net 图像的Html辅助方法

Asp.net 图像的Html辅助方法,asp.net,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); } } 目前,我这样做是为了添加

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

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的URL吗?

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

public static MvcHtmlString Image(this HtmlHelper helper,string imageUrl)
{
   string tag = "<img src='{0}'/>";
   tag = string.Format(tag,imageUrl);
   return MvcHtmlString.Create(tag);
}
或者利用你的行动

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

@KrunalPatil谁说有数据库?但是我明白你的意思,我可以做src=@Model.imagepath对不起,我假设它有一个database@KrunalPatil好吧,没关系,这个想法很好:在某处生成,然后添加到模型中,与我的解决方案相比,我现在更喜欢这样,不让URL进入html,我可以集中生成。很高兴知道我愚蠢的评论帮助了你。。伟大的人物都是这样做的。。从愚蠢的答案中寻找解决方案。。。干杯
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})}