Jump to content
ggbelgamo

Valor da @Url.Action de acordo com usuário logado

Recommended Posts

Como posso alterar o valor do item do meu menu se tiver um usuário logado? Tentei verificar a existência da sessão na controller, mas não sei como posso retornar dados pra layout.cshtml.

 

Meu código está assim: 

                <ul id="menu-normal">
                    <li class="hover-menu"><a href="@Url.Action("Index", "Home")">INÍCIO</a></li>
                    <li class="hover-menu"><a href="@Url.Action("Aniversariantes", "Home")">ANIVERSARIANTES</a></li>
                    <li class="hover-menu"><a href="@Url.Action("CRM", "Home")">CRM</a></li>
                    <li class="hover-menu"><a href="">PARTICIPANTES</a></li>
                    <li class="hover-menu"><a href="">TURMAS</a></li>
                    <li class="btn-login"><a href="@Url.Action("Login", "Home")">LOGIN</a></li>
                </ul>

Queria que quando o usuário estivesse logado, exibisse "Painel" ao invés de "Login" continuar exibindo "Login" caso não tenha nenhum usuário logado.

Share this post


Link to post
Share on other sites

Verifico se tem cookie salvo no browser.

 

            var verCookie = Request.Cookies.Get(GerarHashMd5("idUser"));

            if (verCookie == null)
            {
                return View("Login");
            }

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By sergiosfpereira
      Boa tarde a todos,
       
      Estou estudando MVC e me deparei com a seguinte situação:

      Tenho uma View que precisa receber dados de dois Models diferentes, então no controller desta View eu tenho a função abaixo:
      public function teste($id) { $this->view->a = $this->getOneA($id); $this->loadModel('b'); $this->view->b = $this->model->getOneB($id); $this->view->render('app/teste'); } O cenário acima me retorna o esperado, pega os dados de A e de B e os deixa disponiveis para a View.
       
      Está correto utilizar esse método ?
       
      Se sim, eu deveria carregar o Model "b" no __construct do controller "a"  ou diretamente na função do controller "a" como neste exemplo?
       
      Se não, qual a melhor maneira de obter dados de diferentes Models?
       
      OBS: todos os controllers são filhos do controller principal e todos os models são filhos do model principal.
       
      E me perdoem se eu estiver falando bobagem, como disse, estou aprendendo e a finalidade aqui é didatica e agradeço a quem puder contribuir.
    • By Rzorr
      Bom dia,
              eu tenho um  site de imóveis, sou corretor, ele está com alguns problemas na URL, comprei esse script e venho fazendo algumas alterações nele, sei o básico, cadastrar, deletar, buscar, update, mas o que acontece esse site foi construido com MVC e confesso parei de estudar PHP faz muito tempo, e não entendo nada de MVC, abaixo o código da busca e como forma o link é montado.
          No site o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/Camboriú/bairro/bairro#busca nesse exemplo fiz uma busca pela cidade!
         Se clico no menu em vendas o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca
      pessoal obrigado pela disposição em ajudar, eu to tentando resolver faz dias, mas não consigo entender a a forma como é construido.
       
      <?php class busca extends controller { public function init(){ } public function inicial(){ $referencia = $this->post('referencia'); $categoria = $this->post('categoria'); $tipo = $this->post('tipo'); $cidade = $this->post('cidade'); $bairro = $this->post('bairro'); if($referencia){ $cidade = "cidade"; $bairro = "bairro"; $tipo = "tipo"; $categoria = "categoria"; } else { $referencia = 'referencia'; if(!$categoria){ $categoria = "categoria"; } if(!$tipo){ $tipo = "tipo"; } if(!$cidade){ $cidade = "cidade"; } if(!$bairro){ $bairro = "bairro"; } } $endereco = DOMINIO."imoveis/lista/referencia/$referencia/categoria/$categoria/tipo/$tipo/cidade/$cidade/bairro/$bairro#busca"; $this->irpara("$endereco"); }  
    • By unset
      Olá, alguém poderia me ajudar a implementar uma paginação de resultados? tenho o modelo mvc abaixo
       
      Controller
      <?php // Load All Posts public function index(){ $posts = $this->postModel->getPosts(); $data = [ 'posts' => $posts ]; $this->view('posts/index', $data); } ?> Model
      <?php // Get All Posts public function getPosts(){ $this->db->query("SELECT *, posts.id as postId, users.id as userId FROM posts INNER JOIN users ON posts.user_id = users.id ORDER BY posts.created_at DESC;"); $results = $this->db->resultset(); return $results; } View
      <?php foreach($data['posts'] as $post) : ?> <div class="card card-body mb-3"> <h4 class="card-title"><?php echo $post->title; ?></h4> <div class="bg-light p-2 mb-3"> Written by <?php echo $post->name; ?> on <?php echo $post->created_at; ?> </div> <p class="card-text"><?php echo $post->body; ?></p> <a class="btn btn-dark" href="<?php echo URLROOT; ?>/posts/show/<?php echo $post->postId; ?>">More</a> </div> <?php endforeach; ?> Como fazer a paginação ?
    • By frlopes
      Pessoal, bom dia.
       
      Tentei fazer o exemplo abaixo do site:
       
      http://www.macoratti.net/15/10/mvc_roles1.htm
       
      E está retornando o seguinte erro quando tento fazer um novo registro:
       
      System.InvalidOperationException: 'The ViewData item that has the key 'Name' is of type 'System.String' but must be of type 'IEnumerable<SelectListItem>'.'
       
      Alguém poderia me ajudar? 
      Obrigada!
    • By icarof
      Olá amigos.
       
      Estou desenvolvendo  um sistema, que pretendo disponibilizar para vários clientes, no entanto no modelo antigo, eu tinha que colocar todo o sistema dentro da pasta do cliente no ftp para pode rodar, o que não é vialvel pois a cada edição terei que refazer o mesmo trabalho para todos os clientes.
       
      Migrei o sistema de procedural para POO e estou usando MVC como estrutura, de inicio consigo por o sistema em uma pasta e apenas os arquivos básicos na pasta cliente.
      na pasta do cliente ficam
      index config environment .htaccess  
      no caso, a home do projeto funciona bem, mas quando se tenta acessar outras paginas, ele não encontra ou mostra uma template incorreta.
       
      para um resumo:
      tenho um sistem no endereço exemplo
      www.meusistema.com.br
       
      cada cliente tem um subdominio:
      cliente.meusistema.com.br
       
      eu gostaria que na pasta do cliente, ficasse apenas os arquivos de configuração, pois quando for fazer a manutenção do sistema, as alterações sejam validas para todos os clientes.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.