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" />
War es hilfreich?

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" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top