2013-11-01 45 views
0

我有一個加載圖像文件控制器的圖像:正確的方式來表明來自控制器

// 
    // 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"); 
    } 

在從動作MyController/Page/id一個單獨的視圖我已經匆匆散列一些HTML來顯示圖像:

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

然後還與鏈接:

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

它的工作原理,但我要尋找一個是使用@Html的方式,所以resharper可以幫助導航和驗證,爲上述兩個。我試過這個:

@Html.RenderAction("Image", "MyController", new { id = Model.Name }) 

但是這不編譯,它說Expression must return a value to render

回答

3

我認爲你只是在尋找Url.Action(),它返回一個URL到行動:

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

可以在src屬性使用Url.Action()

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