Wo speichern Sie Bilder für asp.net mvc-Projekte und wie verweisen Sie sie von site.master aus?

82

Ich habe ein neues asp.net mvc-Projekt und ich versuche herauszufinden, wo Bilder am besten gespeichert werden können und wie ich sie von site.master aus referenzieren würde (in Fällen, in denen ich Header-Bilder habe, die ich auf allen anzeigen möchte Seiten).

Vorschläge oder Best Practices?

Leora
quelle

Antworten:

112

Im Allgemeinen erstelle ich einen Ordner "Bilder" in meinem Inhaltsordner. Wo Sie Ihre Bilder platzieren, liegt ganz bei Ihnen, solange Sie konsistent sind.

Das Referenzieren dieser Bilder von Ihrer Site.Master ist dasselbe, als ob Sie es aus einer beliebigen Ansicht referenziert hätten:

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

Alt-Text

Ein Salcedo
quelle
Ich versuche, den Bildlink in die Datei site.master einzufügen, damit er auf jeder Seite angezeigt wird.
Leora
Dann müssen Sie nur noch ein Div erstellen und Ihr Bild als Hintergrund für das Div verwenden, das sich nur in Ihrer site.master befindet. Daher wird es auf jeder Seite angezeigt. Wenn Sie nicht wissen, wie Sie Ihr CSS verknüpfen sollen, sollten Sie danach fragen.
Ein Salcedo
Sie fragen nach Best Practices, in Wirklichkeit liegt es an der Person. Aber ich habe den schwierigen Weg gefunden, solche Dinge auf der Seite selbst zu platzieren, wenn ich es allgemeiner machen möchte, ist der beste Ort, den ich gefunden habe, das CSS.
Ein Salcedo
4
Inhalt / Bilder sind in Ordnung, die Art und Weise, wie Sie auf die Bilder verweisen, jedoch nicht. Es funktioniert nur mit dem Entwicklungswebserver und der Root-Webanwendung in IIS. Wenn Sie eine Webanwendung in einem virtuellen Verzeichnis
ausführen
2
Wie @ chris166 sagte, verwenden Sie bitte keine absoluten Links. In MVC 5 können Sie das ~Präfix wie folgt verwenden : <img src="~/Content/Images/logo.png" />. Siehe hier: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
26
<img src="@Url.Content("~/Content/Images/logo.png")" />

Verwenden dieser Option in einer Razor-Ansicht in MVC 5. Bilder werden in / Content / Images gespeichert.

zacharydl
quelle
4
In MVC 5 sollte dies sogar sein <img src="~/Content/Images/logo.png" />. Siehe hier: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
Ja, als ich das obige Beispiel in mein MVC-Projekt kopiert und eingefügt habe, hat die IDE automatisch das fehlende "~" eingefügt
B. Clay Shannon
8
<%=Html.Image("~/Content/Images/xxx.png")%>

Dies wird von jedem Ort in der Site-Hierarchie aus behoben. Html.Image ist Teil der Microsoft.Web.Mvc-Futures-Assembly.

mxmissile
quelle
2

oder in mvc2:

<img src="<%: Url.Content("~/Images2/landingMain/safety.png") %>" alt="safety" />
Fred
quelle
1

Sie müssen alle Ihre Bilder wie folgt in den Inhaltsordner legen: - Inhalt -> Bilder -> IMG-Dateien und wie Stylesheet-Dateien. Inhaltsordner wie Inhalt -> CSS. Daher können die Bilder und CSS problemlos geladen werden, andernfalls ist dies nicht der Fall in der richtigen Weise ausgeführt.

Vijay Chauhan
quelle