Подтвердить что ты не робот

Как отобразить изображение с пути в asp.net MVC 4 и Razor?

У меня есть следующая модель:

public class Player
{


    public String ImagePath
    {
        get
        {
            return "~/Content/img/sql_error.JPG";
        }

    }

И это мой файл .cshtml:

@model SoulMasters.Models.Game.Player

@{
ViewBag.Title = "Game";
Layout = "~/Views/Shared/_GameLayout.cshtml";
var imagePath = @Model.ImagePath;
}

<fieldset>
<legend>Player</legend>

   <div class="display-field">
    @Html.DisplayFor(model => model.ImagePath)
</div>
@imagePath
<div style="padding:10px;">

    <img [email protected] alt="Sample Image" width="300px" />

    <img  alt="asd" >
        model.ImagePath;
    </img>
</div>
</fieldset>

В результате получается простой текст:

~/Content/img/sql_error.JPG
~/Content/img/sql_error.JPG
Sample Image asd model.ImagePath;

Кроме того, я пробовал следующую строку, и она работает:

<img src="~/Content/img/sql_error.JPG" alt="Sample Image" width="300px" />

Как отобразить это изображение из пути? Может ли путь изображения отличаться в зависимости от настроек? Любые другие идеи?

Я действительно не понимаю, как работает синтаксис бритвы.

4b9b3361

Ответ 1

В вашем представлении попробуйте сделать это

  <img src= "@Url.Content(Model.ImagePath)" alt="Image" />

Ответ 2

вы также можете попробовать с этим ответом:

 <img src="~/Content/img/@Html.DisplayFor(model =>model.ImagePath)" style="height:200px;width:200px;"/>

Ответ 3

 @foreach (var m in Model)
    {
      <img src="~/Images/@m.Url" style="overflow: hidden; position: relative; width:200px; height:200px;" />
    }