MembershipProviders in ASP.net MVC influenza i collegamenti ai fogli di stile?
-
03-07-2019 - |
Domanda
Ho modificato il MembershipProvider nel mio sito Web ASP.net MVC e ora il foglio di stile per la pagina di accesso non viene referenziato correttamente. Di seguito è una copia del tag dei moduli nel mio web.config se questo potrebbe essere il motivo. Sembra identico a quello generato da un nuovo progetto ad eccezione dell'attributo nome e timeout.
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" name=".ADAuthCookie" timeout="10" />
</authentication>
Quando visito ora la pagina, il tag di collegamento per il CSS è simile al seguente:
<link href="../Content/Site.css" rel="stylesheet" type="text/css" />
Quando dovrebbe apparire così:
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
Soluzione 2
Grazie Ian Oxley. Tuttavia, il problema non è stato risolto con ResolveClientUrl.
Doveva gestire il file web.config. Avevo un codice simile al seguente:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Ho aggiunto un elemento di localizzazione sotto quello principale e ho detto che chiunque poteva visualizzare quel contenuto, e ora funziona. Si scopre che file come il file CSS non erano visualizzabili fino a quando non sono stati autorizzati in precedenza. Questo è stato risolto.
Questo è quello che ho aggiunto:
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Altri suggerimenti
Non ho ancora usato ASP.NET MVC, ma potresti provare a usare ResolveClientUrl quando scrivi l'href per il tuo CSS:
<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />