Asp.net-Mvc

ASP.Net MVC 如何在視圖中顯示模型的圖像屬性?

  • February 25, 2013

我是 asp.net mvc 的新手,但我正在嘗試用 GDI+ 做一個有趣的應用程序,我需要用 asp.net mvc 做一些圖像視圖。

我有一個具有圖像屬性的模型:

namespace DomainModel.Entities
{
   public class BackgroundImage
   {
       // Properties
       public Image Image {get; private set; }

       public BackgroundImage()
       {
           Image = Image.FromFile(@"D:\ProjectZero\DomainModel\image\bkg.PNG");

       }
   }
}

控制器向視圖發送以下內容:

public ActionResult Index()
       {

           BackgroundImage bkImg = new BackgroundImage(); 
           return View(bkImg);
       }

視圖如下所示:

<p> Height: </p><%= Model.Image.Height //it prints the height of the image %> </br>
<p> Width: </p><%= Model.Image.Width //it prints the width %> </br>
<p> Image: </p><%= Model.Image //does not work to display the image %>

如何顯示該圖像屬性?

我需要一個 div 的背景圖像。我不需要調整圖像的大小,我只需要以正常大小顯示它。

有沒有我想念的 Html 助手?

感謝您的時間!

您需要編寫一個控制器操作,將圖像寫入響應流並將正確的內容類型設置為“image/png”。然後您可以使用img標籤在您的視圖中引用此操作:

public ActionResult Image()
{
   byte[] image = GenerateImage();
   return File(image, "image/png");
}

在你的視野中:

<img src="<%= Url.Action("Image") %>" alt="" />

如果你想做這樣的事情,你將需要一個 HttpHandler。

http://dotnetperls.com/ashx-handler

引用自:https://stackoverflow.com/questions/1409602