Gdzie przechowujesz obrazy dla projektów mvc asp.net i jak odwołujesz się do nich z witryny site.master

84

Mam nowy projekt mvc asp.net i próbuję znaleźć najlepsze miejsce do przechowywania obrazów, a także sposób, w jaki mogę się do nich odwoływać z witryny site.master (w przypadkach, gdy mam obrazy nagłówka, które chcę pokazać we wszystkich stron).

Sugestie lub sprawdzone metody?

leora
źródło

Odpowiedzi:

113

Zwykle tworzę folder „Obrazy” w moim folderze Treść. To, gdzie umieścisz swoje obrazy, zależy od Ciebie, o ile będziesz konsekwentny.

Odwoływanie się do tych obrazów w witrynie Site.Master jest takie samo, jak w przypadku odwoływania się do niego z dowolnego widoku:

<img src="/Content/Images/mylogo.png" />

tekst alternatywny

Salcedo
źródło
Próbuję umieścić link do obrazu w pliku site.master, aby pojawiał się na każdej stronie.
leora
Następnie wszystko, co musisz zrobić, to utworzyć div i umieścić swój obraz jako tło dla tego div, który będzie znajdował się tylko w twoim site.master. Stąd wyświetlanie go na każdej stronie. Jeśli nie wiesz, jak połączyć swój css, to właśnie o to powinieneś zapytać.
Salcedo
Pytasz o najlepsze praktyki, w rzeczywistości to zależy od osoby. Ale znalazłem trudny sposób na umieszczenie takich rzeczy na samej stronie, kiedy jeśli chcę, aby było to zrobione w bardziej ogólny sposób, najlepszym miejscem, jakie znalazłem, jest CSS.
Salcedo
4
Treść / obrazy są w porządku, ale sposób, w jaki odwołujesz się do obrazów, nie. Działa tylko z deweloperskim serwerem internetowym i główną aplikacją internetową w usługach IIS. Jeśli uruchomisz aplikację internetową w katalogu wirtualnym, obrazy nigdy nie zostaną znalezione
chris166
2
Jak powiedział @ chris166, nie używaj bezwzględnych linków. W MVC 5 można użyć ~przedrostka, na przykład: <img src="~/Content/Images/logo.png" />. Zobacz tutaj: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
26
<img src="@Url.Content("~/Content/Images/logo.png")" />

Używanie tego w widoku Razor na MVC 5. Obrazy są przechowywane w / Content / Images.

zacharydl
źródło
4
W MVC 5 powinno to być <img src="~/Content/Images/logo.png" />. Zobacz tutaj: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
Tak, kiedy skopiowałem i wkleiłem powyższy przykład do mojego projektu MVC, IDE automatycznie wstawiło brakujące „~”
B. Clay Shannon
8
<%=Html.Image("~/Content/Images/xxx.png")%>

Jest to rozwiązywane z dowolnego miejsca w hierarchii witryny. Html.Image jest częścią zestawu futures Microsoft.Web.Mvc.

mxmissile
źródło
2

lub w mvc2:

<img src="<%: Url.Content("~/Images2/landingMain/safety.png") %>" alt="safety" />
Fred
źródło
1

Musisz umieścić wszystkie swoje obrazy w folderze zawartości, takim jak: - Treść -> Obrazy ->. Pliki IMG i takie same jak pliki arkuszy stylów Folder zawartości, taki jak Treść ->. Css, stąd łatwo ładuje obrazy i css, w przeciwnym razie nie jest wykonane we właściwy sposób.

vijay chauhan
źródło