Pergunta

Alterei MembershipProvider em meu site ASP.net MVC e agora a folha de estilo da página de login não é referenciada corretamente.Abaixo está uma cópia da tag de formulários em meu web.config, se esse for o motivo.Parece idêntico ao gerado por um novo projeto, com exceção do nome e do atributo timeout.

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

Quando visito a página agora, a tag do link para CSS fica assim:

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

Quando deve parece com isso:

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

Solução 2

Obrigado Ian Oxley. O problema não foi resolvido com o Resolveclienturl.

Ele teve que lidar com o arquivo web.config. Eu tinha código que parecia assim:

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

Adicionei um elemento de localização abaixo do principal e disse que qualquer um poderia ver esse conteúdo, e ele funciona agora. Acontece que arquivos como o arquivo CSS não foram visíveis até que antes. Isso agora está consertado.

Isso é o que eu adicionei:

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

Outras dicas

Eu ainda não usei o ASP.NET MVC, mas você pode tentar usar ResolverClientUrl ao escrever o href para seu CSS:

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top