ASP.Net MVC كيفية عرض خاصية صورة من نموذج في طريقة عرض؟

StackOverflow https://stackoverflow.com/questions/1409602

سؤال

وأنا جديدة على MVC asp.net، ولكن أحاول أن تفعل التطبيق مضحك مع GDI + وأنا بحاجة للقيام ببعض عرض صورة مع مفك asp.net.

ولدي نموذج الذي له خاصية صورة:

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

كيف يمكنني عرض تلك الممتلكات الصورة؟

وأحتاج أن صورة خلفية لشعبة. ولست بحاجة لتغيير حجم الصورة، ولست بحاجة فقط لعرضه في حجمه الطبيعي.

هل هناك مساعد الاكواد التي افتقد؟

وشكرا لكم، وعلى وقتك!

هل كانت مفيدة؟

المحلول

وتحتاج لكتابة عمل وحدة التحكم التي سوف نكتب الصورة في مجرى الاستجابة وتعيين نوع المحتوى الصحيح أن نقول "صورة / بابوا نيو غينيا". ثم يمكنك استخدام العلامة img مرجع هذا العمل من وجهة نظرك:

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

وداخل وجهة نظركم:

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

نصائح أخرى

وسوف تحتاج إلى HttpHandler إذا كنت تريد أن تفعل أشياء من هذا القبيل.

http://dotnetperls.com/ashx-handler

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top