2014-05-07 165 views
0

我在數據庫字段中有一個圖像標記,我想在MVC項目的索引和詳細視圖中顯示圖像。目前,這兩個頁面只顯示文本在asp視圖中顯示圖像

該字段的視圖代碼是:

<td> 
     @Html.DisplayFor(modelItem => item.QRCode) 
    </td> 

如何編寫視圖頁面來顯示圖像的鏈接指向,而不是鏈接文本?

乾杯, Kevin。

回答

0

根據此鏈接:displaying image from db in Razor/MVC3 兩種可能性。

寫一個控制器的動作,而不是其給出的圖片ID將返回這個圖片:

public ActionResult GetImage(int id) 
{ 
    byte[] image = ... go and fetch the image buffer from the database given the id 
    return File(image, "image/jpg"); 
} 

,然後:在您的初始模型現在

<img src="@Url.Action("GetImage", "SomeController", new { id = item.Id })" alt="@item.CountryName" /> 

很明顯,你不需要圖像屬性。這將在負責該操作的控制器操作中隨後檢索。

另一種可能性是使用數據URI方案嵌入圖像爲Base64字符串,但它可能不是所有瀏覽器都得到廣泛支持:

<img src="data:image/jpg;base64,@(Convert.ToBase64String(item.Image))" alt="@item.CountryName" /> 

你不會在這種情況下,需要一個控制器動作圖像作爲base64字符串直接嵌入到標記中。

快樂編碼..!

+0

謝謝我會放棄它。目前該字段包含以下內容:那麼我需要刪除標記代碼? – Spionred

+0

對不起,我應該解釋的鏈接是返回一個PNG – Spionred

+0

我使用索引視圖以下API調用:​​ Image Spionred

0

下面的代碼工作爲索引視圖:

<td> 
     <img src="@Url.Content(item.QRCode)" alt="Image" /> 
    </td> 

感謝您的幫助。

我現在遇到的問題是讓圖像顯示在詳細信息頁面中。我曾嘗試的代碼是:

<dd> 
     <img [email protected] alt="" /> 
    </dd> 

,關於詳細信息頁面使用工作中的其他列:

<dd> 
     @Html.DisplayFor(model => model.TestingFrequency) 
    </dd> 

但我已經嘗試了很多代碼組合,我似乎無法得到它工作。

任何進一步的提示,將不勝感激。

+0

破解它!簡單如:該錯誤是由於幾行下來。 – Spionred