none
Dúvida com Rotas RRS feed

  • Pergunta

  • Bom dia a todos, tenho a seguinte dúvida:

    Gostaria que minha aplicação permitisse eu acessar a minha página de cadastro das seguintes formas

    meusite.com.br/Cadastro
    meusite.com.br/Entrar
    meusite.com.br/Acesso

    Isso é possível? Como posso fazer? Tenho que construir um controller diferente para cada? 

    Outra dúvida é : Gostaria de acessar os perfis de usuário da mesma forma, por exemplo

    meusite.com.br/josesilva
    meusite.com.br/fernandoalves

    Como seria a rota para interpretar essas entradas?

     

    Obrigado 


    Paulo Dias
    segunda-feira, 17 de outubro de 2011 14:25

Respostas

  • Bom dia Paulo...

    Verifique esses sites podem te ajudar pois falam sobre URL amigaveis:

    http://www.macoratti.net/10/05/aspn_url.htm

    http://caissara.wordpress.com/2008/08/14/url-rewrite-aspnet/

    http://www.bufaloinfo.com.br/dicas.aspx?cod=802

    Espero ter ajudado....


    Eder dos Santos Silva Analista Programador Pleno Portfólio: http://www.ederssilva.com.br
    • Editado EderSSilva segunda-feira, 17 de outubro de 2011 14:39
    • Marcado como Resposta Paulo Dias quinta-feira, 20 de outubro de 2011 14:59
    segunda-feira, 17 de outubro de 2011 14:36
  • As rotas devem ser criadas da mais especifica para a mais generica Exemplo

     

     

    routes.MapRoute(
                    "Cadastro"// Route name
                    "Cadastro"// URL with parameters
                    new { controller = "Sistema", action = "Cadastrar" } // Parameter defaults
                );
    routes.MapRoute(
                    "Entrar"// Route name
                    "Entrar"// URL with parameters
                    new { controller = "Sistema", action = "Entrar" } // Parameter defaults
                );
    routes.MapRoute(
                    "Usuario"// Route name
                    "{Nome}"// URL with parameters
                    new { controller = "Usuario", action = "Perfil" } // Parameter defaults
                );

    Repara o seguinte o map recebe um nome a url q será usada (quando for parametro vc usa {}) e um objeto anonimo. 
    Esse objeto anonimo necessiariamente precisa conter uma variavel chamada controller e a outra chamada action
    NO caso ali de usuário ele vai procurar a action perfil no controller usuario essa action deve receber uma variavel string Nome
    vc pode passar um valor default para a variavel, ou seja, se o usuário nao informar ele será passado para a action
    routes.MapRoute(
                    "Usuario"// Route name
                    "{Nome}"// URL with parameters
                    new { controller = "Usuario", action = "Perfil", Nome = "Milton" } // Parameter defaults
                );

     


    1000ton Analista de Sistema Plastripel - Barretos @MiltonFilho
    • Editado MiltonFilho segunda-feira, 17 de outubro de 2011 19:49
    • Sugerido como Resposta RodrigoBraga terça-feira, 18 de outubro de 2011 12:31
    • Marcado como Resposta Paulo Dias quinta-feira, 20 de outubro de 2011 14:59
    segunda-feira, 17 de outubro de 2011 19:47

Todas as Respostas

  • Bom dia Paulo...

    Verifique esses sites podem te ajudar pois falam sobre URL amigaveis:

    http://www.macoratti.net/10/05/aspn_url.htm

    http://caissara.wordpress.com/2008/08/14/url-rewrite-aspnet/

    http://www.bufaloinfo.com.br/dicas.aspx?cod=802

    Espero ter ajudado....


    Eder dos Santos Silva Analista Programador Pleno Portfólio: http://www.ederssilva.com.br
    • Editado EderSSilva segunda-feira, 17 de outubro de 2011 14:39
    • Marcado como Resposta Paulo Dias quinta-feira, 20 de outubro de 2011 14:59
    segunda-feira, 17 de outubro de 2011 14:36
  • As rotas devem ser criadas da mais especifica para a mais generica Exemplo

     

     

    routes.MapRoute(
                    "Cadastro"// Route name
                    "Cadastro"// URL with parameters
                    new { controller = "Sistema", action = "Cadastrar" } // Parameter defaults
                );
    routes.MapRoute(
                    "Entrar"// Route name
                    "Entrar"// URL with parameters
                    new { controller = "Sistema", action = "Entrar" } // Parameter defaults
                );
    routes.MapRoute(
                    "Usuario"// Route name
                    "{Nome}"// URL with parameters
                    new { controller = "Usuario", action = "Perfil" } // Parameter defaults
                );

    Repara o seguinte o map recebe um nome a url q será usada (quando for parametro vc usa {}) e um objeto anonimo. 
    Esse objeto anonimo necessiariamente precisa conter uma variavel chamada controller e a outra chamada action
    NO caso ali de usuário ele vai procurar a action perfil no controller usuario essa action deve receber uma variavel string Nome
    vc pode passar um valor default para a variavel, ou seja, se o usuário nao informar ele será passado para a action
    routes.MapRoute(
                    "Usuario"// Route name
                    "{Nome}"// URL with parameters
                    new { controller = "Usuario", action = "Perfil", Nome = "Milton" } // Parameter defaults
                );

     


    1000ton Analista de Sistema Plastripel - Barretos @MiltonFilho
    • Editado MiltonFilho segunda-feira, 17 de outubro de 2011 19:49
    • Sugerido como Resposta RodrigoBraga terça-feira, 18 de outubro de 2011 12:31
    • Marcado como Resposta Paulo Dias quinta-feira, 20 de outubro de 2011 14:59
    segunda-feira, 17 de outubro de 2011 19:47