ASP.Net MVC как отобразить свойство изображения модели в представлении?
Я новичок в 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:ProjectZeroDomainModelimagebkg.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, который я пропускаю?
Спасибо, за ваше время!
2 ответов
вам нужно написать действие контроллера, которое запишет изображение в поток ответов и установит правильный тип контента, чтобы сказать "image/png". Тогда вы можете использовать img тег для ссылки на это действие в вашем представлении:
public ActionResult Image()
{
    byte[] image = GenerateImage();
    return File(image, "image/png");
}
и внутри вашего взгляда:
<img src="<%= Url.Action("Image") %>" alt="" />
