Jak utworzyć link do metody json w kontrolerze?

0

Witam,

czy moglibyście mi pomóc z utworzeniem linku do metody w kontrolerze, bo za cholerę nie mogę wpaść na rozwiązanie. Mam poniższy kod:

$("#remove").click(function () {
        $('.choiceOption').dialog("close");
        $(".dialog").html('');
        $(".dialog").dialog({ //Shows dialog
            height: 300,
            width: 450,
            modal: true,
            resizable: false,
            title: "Usuń uzytkownika:"
        });
        //
        $.ajax({
            url: '/User/GetUsers/',
            type: 'POST',
            contentType: "application/json",
            success: function (json) {      
                $(".dialog").html('');
                for (var i = 0; i < json.length; i++) {
                    var rowText = 
"<tr style='border-bottom: 1px dotted rgb(195, 178, 178); display: block;'>
        <td style='padding-right: 5px'>" + json[i].userid+ "</td>
        <td style='padding-right: 5px'>" + json[i].Name + "</td>
        <td style='padding-right: 5px'>" + json[i].date + "</td>
        <td style='padding-right: 5px;float:right;'>
           // Jak utworzyć link który przekieruje mnie do akcji w kontrolerze korzystając ze zwróconych danych json. głównym problemem jest fakt że nie mogę  jako parametr dodać wartosci z jsona
           '@Ajax.ActionLink(" ", "RemoveUserByid", "User", new { user= json[i].id //syntax error !!!},new AjaxOptions { UpdateTargetId = "users"})';
        </td>
</tr>";
                    $(".dialog").append(rowText);
                }
                if (json == 0) {
                    $(".dialog").append("Brak ");
                }

            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("Wystąpił problem z przesłaniem danych, spróbuj ponownie za chwile: " + errorThrown)
            }
        });


    });

 

Jak można obejść to rozwiązanie ? Pozdrawiam.

0

W url musisz podać cały adres strony czyli http://www.twojastrona.pl/routing_do_akcji_w_kontrolerze

0

spróbuj coś takiego

"@Ajax.ActionLink(" ", "RemoveUserByid", "User", new { user="_id_"},new AjaxOp**tions { UpdateTargetId = "users"})".replace("_id_", json[i].id)
0

Przecież to jest normalna akcja, tylko przyjmująca i/lub zwracająca JSON, więc Url.Action(UserController.RemoveByIdActionName, UserController.Name, new { id = Model.Id }).
NIGDY nie używaj URLi pisanych z palca ('/User/GetUsers/'), a najlepiej do nazw akcji i view używaj stałych zdefiniowanych w kontrolerze (w powyższym kodzie UserController.RemoveByIdActionName to public const string RemoveByIdActionName = "RemoveById";, a Name to to samo, tylko o wartości "User").

1 użytkowników online, w tym zalogowanych: 0, gości: 1