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" />
È stato utile?

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" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top