none
Como criar um @Html.ActionLink ou @Url.Action dinamico com JQuery ? RRS feed

  • Pergunta

  • Estou tentando criar um @Html.ActionLink ou @UrlAction usando JQuery mas não estou conseguindo. Como fazer isso ?

    Estou tentando assim.

    $('#tableView > tbody').empty();   
        if (data["CategoriaProduto"].length > 0) {
            $.each(data["CategoriaProduto"], function (i, cp) {
                var editLink = $('@Html.ActionLink("Edit", "edit", "CategoriaProduto"), new {id = ' + cp.id + '}');           
    
                $('#tableView > tbody:last-child').append('<tr>'
                                                        + '<td class="text-capitalize small">' + cp.descricao + '</td>'
                                                        + '<td class="col-md-1">' + editLink + '</td>'
                                                        + '</tr>');
            });
        }

    sábado, 5 de novembro de 2016 11:37

Respostas

  • Pelo que pesquisei tudo que é @ do razor é processado no servidor, entao criei uma variavel global no javascript no html, e no arquivo externo javascript recuperei essa variavel e montei o link, funcionou blzinha.

    Html

    <script>
    var url = @Url.Action("edit","CategoriaProduto") + "/";
    </script>

    JavaScript externo

    $('#tableView > tbody').empty();   
        if (data["CategoriaProduto"].length > 0) {
            $.each(data["CategoriaProduto"], function (i, cp) {
                var editLink = url + cp.id;          
    
                $('#tableView > tbody:last-child').append('<tr>'
                                                        + '<td class="text-capitalize small">' + cp.descricao + '</td>'
                                                        + '<td class="col-md-1"><a href=' + editLink + '>Editar</a></td>'
                                                        + '</tr>');
            });
        }



    • Marcado como Resposta Paiva Fernando domingo, 6 de novembro de 2016 14:13
    domingo, 6 de novembro de 2016 14:13

Todas as Respostas

  • Tente assim:

    var url = '@Url.Action("edit", "CategoriaProduto")';
    $('#tableView > tbody').empty();   
        if (data["CategoriaProduto"].length > 0) {
            $.each(data["CategoriaProduto"], function (i, cp) {
            
    
                $('#tableView > tbody:last-child').append('<tr>'
                                                        + '<td class="text-capitalize small">' + cp.descricao + '</td>'
                                                        + '<td class="col-md-1"><a href="' + url + '/' + cp.id + '">Edit</a></td>'
                                                        + '</tr>');
            });
        }


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    sábado, 5 de novembro de 2016 17:27
  • Pelo que pesquisei tudo que é @ do razor é processado no servidor, entao criei uma variavel global no javascript no html, e no arquivo externo javascript recuperei essa variavel e montei o link, funcionou blzinha.

    Html

    <script>
    var url = @Url.Action("edit","CategoriaProduto") + "/";
    </script>

    JavaScript externo

    $('#tableView > tbody').empty();   
        if (data["CategoriaProduto"].length > 0) {
            $.each(data["CategoriaProduto"], function (i, cp) {
                var editLink = url + cp.id;          
    
                $('#tableView > tbody:last-child').append('<tr>'
                                                        + '<td class="text-capitalize small">' + cp.descricao + '</td>'
                                                        + '<td class="col-md-1"><a href=' + editLink + '>Editar</a></td>'
                                                        + '</tr>');
            });
        }



    • Marcado como Resposta Paiva Fernando domingo, 6 de novembro de 2016 14:13
    domingo, 6 de novembro de 2016 14:13