EXIBIR IMAGEM EM UMA VIEW RAZOR

PERCIFILHO 13/10/2016 10:00:53
#468045
Boa dia galera!!!!
Estou tentando exibir os detalhes de um objeto numa View Razor.
Faço assim:
<dt>
@Html.DisplayNameFor(model => model.Nome)
</dt>
<dd>
@Html.DisplayFor(model => model.Nome)
</dd>

Agora, gostaria de saber como faço para exibir a imagem. Minhas imagens estão na pasta Content. Tentei assim:
<img src=[Ô]/Content/[Ô] + @Html.DisplayFor(model => model.Imagem) width=[Ô]400[Ô] height=[Ô]400[Ô] />

mas não deu resultado, a imagem não aparece.
DS2T 13/10/2016 10:24:00
#468048
Resposta escolhida
Tenta fazer assim:
<img src=[Ô]/Content/@Html.DisplayFor(model => model.Imagem)[Ô] width=[Ô]400[Ô] height=[Ô]400[Ô] />

ou assim:

<img src=[Ô]/Content/@Model.Imagem[Ô] width=[Ô]400[Ô] height=[Ô]400[Ô] />


Também estou me aprofundando no MVC tem pouco tempo. Daqui a pouco verá algumas perguntas minhas aqui.
Cara, e é incrível ver o seu desenvolvimento como programador aqui. Acho que você é o que mais evoluiu no fórum nesses últimos tempos. Parabéns.
PERCIFILHO 13/10/2016 12:25:46
#468053
Grande DS2T.
Cara, primeiro, muito obrigado pelas palavras, mas eu ainda estou aprendendo. Concordo com você que eu evolui muito, mas foi graças aos amigos do VBMania que nunca me deixaram sem resposta. São tantas pessoas para agradecer, e sem desmerecer ninguém, pois cada um com quem compartilhei as experiências e trocamos perguntas e respostas foram e com certeza são, muito importantes, mas o meu agradecimento especial é para o nosso [Ô]professor[Ô] Kerplunk. Com ele eu [Ô]reaprendi[Ô] a programar, usando conceitos que ainda não conhecia e vi que antes eu usava inúmeras linhas de código, e hoje com muito menos, eu obtenho o mesmo resultado e, muitas vezes, resultados até melhores. Mas como disse, ainda tenho muito a aprender e, com certeza vamos trocar experiências e dúvidas à respeito do MVC, no qual estou [Ô]apanhando[Ô] bastante,
Mas com respeito à minha dúvida, creio que algo não está certo, quando escrevo assim:
<img src=[Ô]http://vbmania.com.br/images/avatar/avatarx76159.jpg[Ô] width=[Ô]400[Ô] height=[Ô]400[Ô] />

consigo fazer a imagem aparecer. Porém, quando escrevo assim:
<img src=[Ô]c:/temp/leão.jpg[Ô] width=[Ô]400[Ô] height=[Ô]400[Ô] />

a imagem simplesmente não aparece, você saberia me explicar o por quê?
Obs: coloquei a imagem na pasta c:/temp, porque senão o caminho fica muito longo.
DS2T 13/10/2016 13:22:09
#468056
Você precisa lembrar que a tag img é html, com isso, ele roda no cliente... não no servidor.
Logo, se você for tentar executar assim, vai dar problema.

Caso você tenha a intenção de apenas rodar localmente mesmo, pode tentar usar o protocolo File:, assim:

<img src=[Ô]file://c:/temp/leão.jpg[Ô]/>

Ainda seguindo o caminho [Ô]vou rodar apenas localmente[Ô], pode usar:

http:\\localhost\seuSite\leão.jpg (Mas tem que definir bem o caminho no Virtual Path)...


Agora se seu site vai rodar externamente, sugiro que comece a usar caminhos relativos.

Abraços!
PERCIFILHO 13/10/2016 15:54:53
#468059
Falei que ainda estou aprendendo!!???
Obrigado, DS2T. Desse jeito [Ô]localmente[Ô], não consegui de nenhum jeito que você falou, então eu modifiquei o meu [Ô]esquema[Ô].
Eu hospedei minhas imagens no TinyPic e gravei o nome (link) das imagens no banco de dados, aí funcionou.
<div>
<img src=[Ô]@Html.DisplayFor(model => model.Imagem)[Ô] width=[Ô]400[Ô] height=[Ô]400[Ô]/>
</div>

Valeu, até mais.
DS2T 13/10/2016 16:09:00
#468062
Mas será que não rola problema da imagem expirar lá?
Por que não cria uma pastinha dentro do projeto mesmo e usa o caminho relativo? Assim a imagem ainda fica hospedada no seu servidor.

Abraços!
PERCIFILHO 13/10/2016 16:21:58
#468064
Citação:

Por que não cria uma pastinha dentro do projeto mesmo e usa o caminho relativo? Assim a imagem ainda fica hospedada no seu servidor.


Me desculpe a ignorância, mas como posso fazer isso? Poderia me explicar com mais detalhes?
DS2T 18/10/2016 19:38:48
#468183
Desculpe a demora, fiz um exemplo.
Vá na rota Home/Index, verá uma imagem lá. (Retirei a pasta packages (que baixa do nuget né) do projeto, porque tava pesada demais.
Repare que tudo que fiz, foi usar um caminho relativo.
PERCIFILHO 19/10/2016 13:53:17
#468203
Valeu, DS2T. Agora eu consegui. Na verdade eu estava apontando o caminho da imagem incorretamente.
Agora fazendo assim, dá certo.
<img src=[Ô]~/Content/@Html.DisplayFor(model => model.Imagem)[Ô] width=[Ô]350[Ô]  height=[Ô]350[Ô]/>

não estava dando certo, porque eu estava fazendo assim:
<img src=[Ô]/Content/[Ô] + @Html.DisplayFor(model => model.Imagem) width=[Ô]400[Ô] height=[Ô]400[Ô] />


Obs: Você bem que poderia ter colocado outra imagem no seu exemplo, né? (mengão.jpeg)???? Poderia ser [txt-color=#007100]verdão.jpeg.[/txt-color] rsrsrs.

Tela principal (Index):


Tela de detalhes:


Tela de inclusão:


Tela de edição:


Tela de exclusão:


Como eu disse, ainda estou aprendendo. Agora estou tentando fazer um novo projeto, e logo, logo terei mais dúvidas.
Valeu amigão, tudo de bom.
Tópico encerrado , respostas não são mais permitidas