none
Tentando entender: Partial View X Menu de acesso RRS feed

  • Pergunta

  • Pessoal,

    Estou começando agora com o MVC e ainda estou na fase dos estudos. Estou vendo sobre Partial View e estou com a seguinte dúvida: Em um cenário onde para acesso ao sistema terei um Menu de acesso que deixarei na minha pagina de layout pois todas as minhas paginas precisão ter este menu no topo. Pois bem, eu vi que para fazer este menu eu posso fazer usando uma Partial View. O que eu tenho aqui é no meu Controller Home uma Action Index que seria a entrada do site. No meu Model tenho os objetos Usuário e Menu. O objeto Usuario possui uma propriedade List<Menu> que é onde eu pego as informações para montar o menu dinamicamente. Na minha pagina de layout ficou assim:

    </head>
    <body>
        <div>
            <div style="background-color:red;">
                @Html.Partial("Menu")
            </div>
            @RenderBody()
        </div>
    </body>

    Minha Partial View

    @if (Model != null)
    {
        <lu> 
    
        @foreach (var i in Model.Lista)
        {            
                <li>
                        @Html.ActionLink("Cadastro", @i.Act);
                </li>
        }
        
        </lu>
    }   

    Qual o procedimento para esta partial view seja reenderizada toda vez que eu navegar de uma pagina para outra?

    Agradeço pela atenção.

    domingo, 25 de novembro de 2012 14:26

Respostas

  • Sim Marcelo, acredito que a melhor solução é recarregar tudo mesmo.

    Imagine que seu cliente ficou com uma página aberta por 10 minutos. E durante este tempo alguém removeu um link de permissão que ele podia acessar; portanto se você não recarregar tudo o resultado final vai estar com um link a mais no menu mesmo que a pessoa não tenha permissão para acessa-la.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    domingo, 25 de novembro de 2012 23:31

Todas as Respostas

  • Neste caso acredito que você pode usar a ViewBag ou ViewData junto com um controller base que carregue os menus do usuário.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    domingo, 25 de novembro de 2012 14:49
  • Murilo,

    Neste caso como estou trazendo as opções do menu do banco de dados, a cada troca de pagina vou ter que ir até o banco para consultar as opções que o usuário tem disponível? Ou tem alguma maneira de realizar esta consulta apenas uma única vez quando a pagina for carregada pela primeira vez?

    Obrigado.

    domingo, 25 de novembro de 2012 18:09
  • Sim Marcelo, acredito que a melhor solução é recarregar tudo mesmo.

    Imagine que seu cliente ficou com uma página aberta por 10 minutos. E durante este tempo alguém removeu um link de permissão que ele podia acessar; portanto se você não recarregar tudo o resultado final vai estar com um link a mais no menu mesmo que a pessoa não tenha permissão para acessa-la.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    domingo, 25 de novembro de 2012 23:31
  • Blz Murilo,

    Também já tinha me deparado com esta situação. Vou ver como implemento isso aqui.

    Obrigado!

    segunda-feira, 26 de novembro de 2012 09:45