Asp.net mvc 4 显示来自控制器的图像的正确方式

Asp.net mvc 4 显示来自控制器的图像的正确方式,asp.net-mvc-4,razor-2,Asp.net Mvc 4,Razor 2,我有一个加载图像文件的控制器: // // GET: /MyController/Image/id public ActionResult Image(string id) { var dir = @"C:\Temp\Images"; var path = Path.Combine(dir, id + ".png"); return File(path, "image/png"); } 在actionMyC

我有一个加载图像文件的控制器:

    //
    // GET: /MyController/Image/id
    public ActionResult Image(string id)
    {
        var dir = @"C:\Temp\Images";
        var path = Path.Combine(dir, id + ".png");
        return File(path, "image/png");
    }
在action
MyController/Page/id
的另一个视图中,我匆忙地对一些html进行了哈希处理,以显示图像:

<img src="../image/@Model.Name" />

但这不是编译,它说
表达式必须返回一个值才能呈现

我想您只是在寻找
Url.Action()
,它返回一个动作的Url:

<img src="@Url.Action("Image", "ImageController", new { id = Model.ImageID })" />

我想您只是在寻找
Url.Action()
,它返回一个操作的Url:

<img src="@Url.Action("Image", "ImageController", new { id = Model.ImageID })" />

您可以在src属性中使用
Url.Action()

 <img src='@Url.Action("Image", "ImageController", new { imageId = Model.Id })' alt='MyImage' />

您可以在src属性中使用
Url.Action()

 <img src='@Url.Action("Image", "ImageController", new { imageId = Model.Id })' alt='MyImage' />