Frage

Ich bin neu in asp.net MVC, aber ich versuche, eine lustige App mit GDI zu tun + und ich brauche etwas Bildansicht mit asp.net MVC zu tun.

Ich habe ein Modell, das eine Bildeigenschaft hat:

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

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

        }
    }
}

Der Controller sendet die Ansicht wie folgt vor:

public ActionResult Index()
        {

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

Der Blick sieht wie folgt aus:

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

Wie zeige ich, dass die Bildeigenschaft?

Ich brauche dieses Hintergrundbild für ein div. Ich brauche nicht das Bild, um die Größe, ich brauche nur, um sie anzuzeigen darin normale Größe ist.

Gibt es eine Html Helper, dass ich verpasst?

Vielen Dank für Ihre Zeit!

War es hilfreich?

Lösung

Sie müssen eine Controller-Aktion schreiben, die das Bild in den Antwortstream schreiben und den richtigen Inhaltstyp „image / png“ zu sagen. Dann können Sie den img Tag verwenden diese Aktion in der Ansicht zu verweisen:

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

Und in Ihrer Ansicht:

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

Andere Tipps

Sie erhalten einen Httphandler benötigen, wenn Sie wollen, wie diese Dinge zu tun.

http://dotnetperls.com/ashx-handler

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top