none
MVC 4 - ActionLink vs <a href= ...\> RRS feed

  • Pergunta

  • Olá

    Dúivida básica.

    Eu tenho um método no controller deste jeito:

    public ActionResult Edit(long clientID)
    {
    //codigo
    
    }

    se na view eu faço:

    @Html.ActionLink("Editar","Edit","Client", new{clientID="1234"},null)

    funciona!

    Mas se eu faço:

    <a href="\Client\Edit\1234" \>

    Nao funciona...

    Eu tenho que mexer no routes para que funcione?

       routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{clientID}",
                    defaults: new { controller = "Client", action = "Details", clientID = UrlParameter.Optional }
                );

    É isso?


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée


    quinta-feira, 22 de novembro de 2012 15:41
    Moderador

Respostas

  • Sim, tem que mexer na rota porque por padrão o mvc tenta pegar o '1234' e mapear para um parametro com nome com 'id' na sua action.

    O que você pode fazer é mexer na rota ou fazer assim:

    <a href="/Client/Edit?clientID=1234" \>

    Ou mudar de 'clientID' para 'id' na action.


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


    quinta-feira, 22 de novembro de 2012 16:00

Todas as Respostas

  • Wilian, pelo que eu saiba não funciona, so utilizando o ActionLink creio eu, nunca tentei fazer por <href> no, mais existe algum motivo especifico para você querer utilizar o <href> ao enves do ActionLink?

    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 22 de novembro de 2012 15:47
  • Sim, tem que mexer na rota porque por padrão o mvc tenta pegar o '1234' e mapear para um parametro com nome com 'id' na sua action.

    O que você pode fazer é mexer na rota ou fazer assim:

    <a href="/Client/Edit?clientID=1234" \>

    Ou mudar de 'clientID' para 'id' na action.


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


    quinta-feira, 22 de novembro de 2012 16:00
  • Ok... era só para confirmar.. 

    Eu normalmente uso Html.ActionLink, mas o controle Telerik Kendo Grid exige href (eu tentei com actionlink mas nao funciona) para criar itens de celula como links..

    Na verdade eu vou usar o padrao Edit(long id) e evitar mexer nas rotas...

    Obrigado


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée


    quinta-feira, 22 de novembro de 2012 16:24
    Moderador
  • É a melhor solução mesmo hehe.

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

    quinta-feira, 22 de novembro de 2012 16:27