MembershipProviders no ASP.net MVC afetam links de folhas de estilo?
-
03-07-2019 - |
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" />
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" />