Question

J'ai changé le site MembershipProvider sur mon site Web ASP.net MVC et la feuille de style de la page de connexion n'est plus correctement référencée. Ci-dessous se trouve une copie de la balise forms dans mon web.config si cela pourrait être la raison. Il semble identique à celui généré par un nouveau projet à l’exception des attributs name et timeout.

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" name=".ADAuthCookie" timeout="10" />
</authentication>

Lorsque je visite la page maintenant, la balise link pour le CSS ressemble à ceci:

<link href="../Content/Site.css" rel="stylesheet" type="text/css" />

Quand il devrait ressembler à ceci:

<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
Était-ce utile?

La solution 2

Merci Ian Oxley. Le problème n'a pas été résolu avec ResolveClientUrl cependant.

Il devait traiter le fichier web.config. J'avais un code qui ressemblait à ceci:

<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>

J'ai ajouté un élément de localisation en dessous de l'élément principal et ai dit que tout le monde pouvait voir ce contenu, et cela fonctionne maintenant. Il s’avère que des fichiers tels que le fichier CSS ne pouvaient pas être visualisés sans autorisation préalable. C'est maintenant corrigé.

Voici ce que j'ai ajouté:

<location path="Content">
   <system.web>
      <authorization>
         <allow users="*" />
      </authorization>
   </system.web>
</location>

Autres conseils

Je n'ai pas encore utilisé ASP.NET MVC, mais vous pouvez essayer d'utiliser ResolveClientUrl lors de l'écriture du href pour votre CSS:

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top