2016-09-20 5 views
1

Ich versuche, etwas wie "Templates-System" zu machen, es könnte Benutzer erlauben, Site-Vorlage zu ändern. Im Admin-Panel zum Beispiel.Css in verschiedenen Ordner

Meine aktuelle Struktur Dateien

-Controllers 
-Models 
-Views 
--Templates 
---DefaultTemplate 
----css 
-----style.css 
----Index.cshtml 

In Standard-Controller (home) i aktuelle Vorlagennamen überprüfen und

rechte Ansicht zeigen
private ViewResult TemplateView(string viewName) 
{ 
    return View($"~/Views/Templates/{GlobalSettings.CurrentTemplate}/{viewName}.cshtml"); 
} 

und einige Vorlage anzeigen (Index.cshtml)

..... 
<link rel="stylesheet" href="~/Views/Templates/DefaultTemplate/css/style.css" type="text/css" /> 
..... 

Aber ich weiß nicht, wie korrekte Pfad zu meinen CSS \ JS \ Bilder in richtigen Templat schreiben e Forder.

ich versucht habe

./css/style.css 

@Url.Content("/css/style.css") 

Aber in Folge HTML es ist wie mysite.com/css/style.css so bekam ich 404 (nicht gefunden)

Ich habe auch schon versucht, diese

~/Views/Templates/DefaultTemplate/css/style.css 

In diesem Fall i Habe 404 auch.

Also, kann mir jemand helfen? Wie schreibe ich die richtige URL zu CSS, Bildern, hs etc?

Antwort

1

Die web.config-Datei im Verzeichnis/Ordner Sichten schränkt den gesamten Zugriff auf Dateien im Ordner standardmäßig:

-Code in Ihre Datei web.config hinzufügen:

<httpHandlers> 
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> 
</httpHandlers> 

Hinweis: Es ist nicht gut üben Sie, um CSS-Dateien im Ansichtsordner zu speichern.

+0

Kann ich Zugriff nur für den angegebenen Pfad zulassen? Nicht für alle Ansichten Ordner? –

+0

verweisen [this] (http://stackoverflow.com/questions/604883/where-to-put-view-specific-javascript-files-in-a-asp-net-mvc-application), aber warum Sie innen gespeichert haben Ordner anzeigen? –

+0

Benutzerfreundlichkeit. "Einfach Ordner mit Ansichten, CSS, JS, Bilder in Vorlagen-Ordner und wählen Sie es in den Einstellungen" - keine Notwendigkeit, Stile in "CSS/Vorlage", Stripts in "JS/Vorlage" usw. setzen –

Verwandte Themen