質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top