Pregunta

Cambié el MembershipProvider en mi sitio web ASP.net MVC, y ahora la hoja de estilo para la página de inicio de sesión no está referenciada correctamente. A continuación se muestra una copia de la etiqueta de formularios en mi web.config si ese podría ser el motivo. Sin embargo, parece idéntico al generado por un nuevo proyecto con la excepción del nombre y el atributo de tiempo de espera.

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

Cuando visito la página ahora, la etiqueta de enlace para el CSS se ve así:

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

Cuando debería tener este aspecto:

<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
¿Fue útil?

Solución 2

Gracias Ian Oxley. El problema no se resolvió con el ResolveClientUrl sin embargo.

Tuvo que lidiar con el archivo web.config. Tenía un código que se veía así:

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

Agregué un elemento de ubicación debajo del principal y dije que cualquiera podía ver ese contenido, y ahora funciona. Resulta que los archivos como el archivo CSS no se podían ver hasta que se autorizara antes. Eso ya está arreglado.

Esto es lo que agregué:

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

Otros consejos

Todavía no he usado ASP.NET MVC, pero podría intentar usar ResolveClientUrl al escribir el href para su CSS:

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top