none
Url Rewrite / Amigável RRS feed

Todas as Respostas

  • Olá, este artigo irá te ajudar:

    http://programandodotnet.wordpress.com/2011/12/07/url-amigaveis/

    Não se esqueça de marcar como resposta para ajudar mais pessoas com a mesma dúvida.

    Abraços.


    Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida | Dicas e artigos sobre .NET em http://programandodotnet.wordpress.com e http://www.devmedia.com.br/wellingtonbalbo | Siga-me no Twitter: @wellingtonbalbo

    quarta-feira, 15 de fevereiro de 2012 00:16
  • Olá, este artigo irá te ajudar:

    http://programandodotnet.wordpress.com/2011/12/07/url-amigaveis/

    Não se esqueça de marcar como resposta para ajudar mais pessoas com a mesma dúvida.

    Abraços.


    Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida | Dicas e artigos sobre .NET em http://programandodotnet.wordpress.com e http://www.devmedia.com.br/wellingtonbalbo | Siga-me no Twitter: @wellingtonbalbo

    Obrigado mais como mencionado acima isso eu consigo fazer sem problemas, o preciso e reescrever o nome do produto na url utilizando traços.

    quarta-feira, 15 de fevereiro de 2012 00:31
  •  

      Olá!!

      Dá uma olhada nesse post do meu blog http://www.thiagorogerio.com.br/post/SEO-Search-Engine-Optimization-e-URL-amigavel-em-ASPNet.aspx, nele mostro como usar a url da forma que você precisa, exemplo:      seusite.com.br/Produto/Produto-de-Demonstracao

     Espero ter lhe ajudado! Se tiver duvidas, mande aqui!!

     

    Thiago Rogerio Site: www.thiagorogerio.com.br Email: thiagorogeriobr@hotmail.com

    quarta-feira, 15 de fevereiro de 2012 11:04
  • Boas,

    pelo que percebi o teu problema não é o routing ou o Rewriting mas sim o facto de quereres transformar o id=12345 em my-product-name.aspx, i.e., queres substituir dinâmicamente o código do produto pelo nome do produto.

    Eu não uso muito o Routing e o URL Rewriter mas pelo que sei são estáticos, i.e., defines a RegularExpression para capturar o que interessa e a expressão de composição da Url final baseada no que foi capturado. Dito isto, seria trivial fazer:

    Normal URL: http://www.mydomain.com/showproduct.aspx?id=12345
    Rewrite URL: http://www.mydomain.com/Products/12345

    Como estás a usar Routing para mapear para http://www.mydomain.com/Products/1/My Produtct Name?


    Nuno Gomes http://nunogomes.net

    quarta-feira, 15 de fevereiro de 2012 12:25
  • Boas,

    pelo que percebi o teu problema não é o routing ou o Rewriting mas sim o facto de quereres transformar o id=12345 em my-product-name.aspx, i.e., queres substituir dinâmicamente o código do produto pelo nome do produto.

    Eu não uso muito o Routing e o URL Rewriter mas pelo que sei são estáticos, i.e., defines a RegularExpression para capturar o que interessa e a expressão de composição da Url final baseada no que foi capturado. Dito isto, seria trivial fazer:

    Normal URL: http://www.mydomain.com/showproduct.aspx?id=12345
    Rewrite URL: http://www.mydomain.com/Products/12345

    Como estás a usar Routing para mapear para http://www.mydomain.com/Products/1/My Produtct Name?


    Nuno Gomes http://nunogomes.net

    Como Abaixo:

    void Application_Start(object sender, EventArgs e)
        {
            RegistrarRotas(RouteTable.Routes);

        }

        void RegistrarRotas(RouteCollection rotas)
        {

            rotas.MapPageRoute(

                  "products" // Nome da rota

                , "Products/{id}/{descricao}" // URL com os parâmetros

                , "~/Detalhe.aspx"); // URL do webform que será executado

        }

    e chama da seguinte maneira

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = Eval("descricao")}) %>'

    onde o Id e o descricao vem do banco atraves asp:ObjectDataSource.

    E fica http://www.mydomain.com/Products/1/My Produtct Name.

    Minha duvida é o "My Product Name", como fazer  e onde fazer ele ficar "My-Product-Name" na url.


    quarta-feira, 15 de fevereiro de 2012 23:34
  • Boas,

    Pensei que estavas a falar do IIS Application Routing e IIS URL ReWritter.

    Já percebi que estavas a falar de ASP.NET WebForms Routing :)

    Então a solução é muito simples:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = Eval("descricao").Replace(" ","-")}) %>'

    No entanto eu recomendo o seguinte:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = System.Web.HttpUtility.UrlEncode(Eval("descricao"))}) %>'
    E desta forma resolves o problema dos espaços e de todos os caracteres especiais.

    Nuno Gomes http://nunogomes.net

    • Marcado como Resposta Harley Araujo quinta-feira, 16 de fevereiro de 2012 10:20
    • Não Marcado como Resposta Engenheiro de Sofware quinta-feira, 23 de fevereiro de 2012 22:10
    quinta-feira, 16 de fevereiro de 2012 01:27
  • Boas,

    Pensei que estavas a falar do IIS Application Routing e IIS URL ReWritter.

    Já percebi que estavas a falar de ASP.NET WebForms Routing :)

    Então a solução é muito simples:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = Eval("descricao").Replace(" ","-")}) %>'

    No entanto eu recomendo o seguinte:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = System.Web.HttpUtility.UrlEncode(Eval("descricao"))}) %>'
    E desta forma resolves o problema dos espaços e de todos os caracteres especiais.

    Nuno Gomes http://nunogomes.net

    Mais uma questão implementei o método na url, porém ele preenche com o caractere "+" e os acentos e outros caracteres ficam como abaixo:

    http://www.mydomain.com/Products/1/Produto+N%e3o+Perec%edvel

    sendo que a intenção seria http://www.mydomain.com/Products/1/produto-nao-perecivel

    como resolver. Obrigado.


    quinta-feira, 16 de fevereiro de 2012 22:05
  • Boas,

    como disse antes, se queres substituir apenas os ' ' por '-' basta fazer:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = Eval("descricao").Replace(" ","-")}) %>'

    Nuno Gomes http://nunogomes.net

    sexta-feira, 17 de fevereiro de 2012 17:12
  • Boas,

    como disse antes, se queres substituir apenas os ' ' por '-' basta fazer:

    NavigateUrl='<%# GetRouteUrl("products", new {id = Eval("id"), descricao = Eval("descricao").Replace(" ","-")}) %>'

    Nuno Gomes http://nunogomes.net

    Nuno Miguel Gomes: Não dá certo porque eu preciso:

    Remover os ascentos, deixar todas letras em minusculo, trocar os caracteres especiais como "ç" por "c " e acrescentar "-" nos espaços vazios.

    Analisa pra mim se é viável,

    Criar um a um campo url, que na hora de salvar o produto já modifique esses caracteristica, sendo assim na hora de chamar a o produto já passo junto a url formatada.

    Obrigado.

    quinta-feira, 23 de fevereiro de 2012 22:15