2009-09-11 30 views
6

Tôi mới tham gia asp.net mvc, nhưng tôi đang cố gắng làm một ứng dụng hài hước với GDI + và tôi cần thực hiện một số chế độ xem hình ảnh với asp.net mvc.ASP.Net MVC Làm cách nào để hiển thị thuộc tính hình ảnh của mô hình trong chế độ xem?

Tôi có một mô hình trong đó có một tài sản hình ảnh:

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

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

     } 
    } 
} 

Bộ điều khiển gửi đến quan điểm như sau:

public ActionResult Index() 
     { 

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

Quan điểm trông như thế này:

<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 %> 

Làm cách nào để hiển thị thuộc tính hình ảnh đó?

Tôi cần hình nền đó cho div. Tôi không cần phải thay đổi kích thước hình ảnh, tôi chỉ cần hiển thị nó ở kích thước bình thường.

Có một Trình trợ giúp Html mà tôi bỏ lỡ không?

Cảm ơn bạn đã dành thời gian!

Trả lời

15

Bạn cần phải viết một hành động điều khiển cho phép ghi hình ảnh vào trong dòng phản ứng và thiết lập các kiểu nội dung thích hợp để nói "image/png". Sau đó, bạn có thể sử dụng thẻ img để tham khảo hành động này theo quan điểm của bạn:

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

Và bên trong xem của bạn:

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

này giải quyết vấn đề của tôi, nhưng tôi cần thiết để sử dụng này: byte nào [ ] imageToByteArray (System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save (ms, System.Drawing.Imaging.ImageFormat.Gif); trả về ms.ToArray(); } để chuyển đổi hình ảnh của tôi thành mảng byte. – andreiursan

+1

Tôi đã cố gắng làm điều này trong 2 ngày và đã được dẫn xuống con đường của HttpHelpers, có nguồn gốc ActionResults gọi là ImageResults và đã cho tôi không có nơi, giải pháp này làm việc lần đầu tiên, Tuyệt vời !! –

+0

Dấu hiệu bị thiếu trong ví dụ về mã xem ở trên. kroiz

Các vấn đề liên quan