Beeinflussen MembershipProviders in ASP.net MVC Stylesheet-Links?
-
03-07-2019 - |
Frage
Ich habe den MembershipProvider auf meiner ASP.net MVC-Website geändert und jetzt wird das Stylesheet für die Anmeldeseite nicht richtig referenziert.Unten finden Sie eine Kopie des Forms-Tags in meiner web.config, falls dies der Grund sein könnte.Bis auf den Namen und das Timeout-Attribut sieht es jedoch genauso aus wie das, das von einem neuen Projekt generiert wurde.
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" name=".ADAuthCookie" timeout="10" />
</authentication>
Wenn ich die Seite jetzt besuche, sieht der Link-Tag für das CSS so aus:
<link href="../Content/Site.css" rel="stylesheet" type="text/css" />
Wenn es sollen sieht aus wie das:
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
Lösung 2
Danke Ian Oxley. Das Problem wurde jedoch nicht mit dem Resolveclienturl gelöst.
Es musste sich mit der Datei web.config befassen. Ich hatte Code, der so aussah:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Ich habe ein Standortelement unter der Hauptsache hinzugefügt und gesagt, dass jeder diesen Inhalt anzeigen könnte, und es funktioniert jetzt. Es stellt sich heraus, dass Dateien wie die CSS -Datei erst zuvor autorisiert wurden. Das ist jetzt behoben.
Das habe ich hinzugefügt:
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Andere Tipps
Ich selbst habe ASP.NET MVC noch nicht verwendet, aber Sie könnten es versuchen ResolveClientUrl beim Schreiben des href für Ihr CSS:
<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />