Eu tenho 2 páginas de layout, um é um layout mestre. Isso tem um layout básico que todas as minhas páginas usarão se um usuário estiver conectado ou não. O outro é o que chamei de layout autorizado, que é uma exibição de layout para usuários que estão conectados ao aplicativo. a exibição do layout autorizado é renderizada no corpo do layout mestre e todas as minhas páginas que exigem que os usuários façam login são renderizadas no corpo do layout autorizado.
Agora minha pergunta é como eu uso o renderseção do layout Mestre no layout filho, como a Página inicial (para usuário conectado), não estou conseguindo agora porque o layout Mestre não é um mestre direto das visualizações filho, é um mestre do layout Autorizado qual é o layout da exibição filho.
A propósito, tudo isso está no .NET CORE.
Respostas:
0 para resposta № 1Você está procurando algo nesse sentido:
// Master.cshtml
@RenderBody()
// AuthorizedLayout.cshtml
@{
Layout = "Master";
}
@RenderBody()
// AuthorizedPage.cshtml
@{
Layout = "AuthorizedLayout";
}
...
0 para resposta № 2
Eu não acho que você possa ter um layout renderizado dentro de um layout. Mas uma abordagem alternativa que pode funcionar bem para você é a seguinte:
Crie dois layouts, um paravisitantes não autorizados e um para visitantes autorizados. Para todos os aspectos dos dois layouts iguais, crie componentes de exibição. Em seguida, use esses componentes de exibição nos dois layouts. Dessa forma, todo o html e lógica comuns estão em apenas um lugar.
Em seguida, você pode selecionar o layout adequado a ser usado para a exibição, com base na autenticação ou não do visitante.
Eu uso uma abordagem muito semelhante para o trabalho do meu site.