2013-04-13 8 views
44

Mam następujący model:Jak wyświetlić obraz ze ścieżki w widoku asp.net MVC 4 i Razor?

public class Player 
{ 


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

    } 

I to jest mój .cshtml file:

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

Wynik jest prosty tekst:

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

Również próbowałem następujące linia i działa:

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

Jak wyświetlić obraz ze ścieżki? Czy ścieżka obrazu może być inna w zależności od ustawień? Jakieś inne pomysły?

Nie rozumiem teraz, jak działa składnia maszynki do golenia.

+1

spróbować tej '' –

Odpowiedz

101

w widoku spróbować jak to

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

działa zgodnie z oczekiwaniami, dzięki :) –

+0

@SasGabriel Nie ma za co :) – Adithya

+0

cześć, zapisuję ścieżkę Imagepath w bazie danych jako: 'c: // user/tom/images', nie jestem w stanie jej odzyskać, dlaczego? – stom

6

można też spróbować z tej odpowiedzi:

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

Proszę nie publikować zrzutów kodu, raczej wyjaśnić, dlaczego ten kod rozwiązuje problem. – Rakete1111

1

spróbować tego,

<img src= "@Url.Content(Model.ImagePath)" alt="Sample Image" style="height:50px;width:100px;"/> 

(or) 

<img src="~/Content/img/@Url.Content(model =>model.ImagePath)" style="height:50px;width:100px;"/> 
Powiązane problemy