Przekazanie parametru poprzez wygenerowany w JavaScript link do kontrolera

Przekazanie parametru poprzez wygenerowany w JavaScript link do kontrolera
A9
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 2 lata
  • Postów:43
0

Cześć wszystkim.
Mam problem z przekazaniem parametru poprzez link do kotrolera. Widok, w którym mam problem ma za zadanie dynamicznie wyświetlić listę użytkowników, wraz z możliwością ich wyszukiwania. Tą część zrealizowałem w js i działa dobrze. W tej funkcjonalności w js generuję linku do przycisków, aby później po przyciśnięciu przycisku można było zapisać wybór w bazie danych. Każdy link ma przypisany identyfikator użytkownika i identyfikator grupy użytkoników. Mój problem polega na tym, że po przyciśnięciu przycisku nic się nie dzieje.

Poniższy kod reprezentuje powyżej opisaną funkcjonalność. Będę bardzo wdzięczny za pomoc.

Kopiuj
@if(ViewData[Enums.States.UserSelectWindow.ToString()].ToString() == "True")
 {
<script type="text/javascript">
    $("#UserlistCollectionId").css('height', $("#WindowUserSelectId").height() + 'px');

    let users = @Html.Raw(Json.Serialize(UserModel.GetUsers()));

        function Clear() {
            $("#UserlistCollectionId").empty();
        }

        function FillAll(users) {
            Clear();
            for (user of users) {
                $("#UserlistCollectionId").append('<li class="list-group-item"><div class="row justify-content-between"><div class="col-auto">' + user.name + '</div><div class="col-auto"><a class="btn btn-sm btn-success" asp-action="AddUserToGroup" asp-controller="Settings" asp-route-groupId=@Model.Group.Id asp-route-userId='+user.id+'>Wybierz</a></div></div></li>');
            }
        }

        FillAll(users);

        $("#SearchInputId").keyup(function () {
            Clear();
            let searchValue = $("#SearchInputId").val();
            if (searchValue === "")
                FillAll(users);
            else {
                for (user of users) {
                    if (user.name.includes(searchValue)) {
                        $("#UserlistCollectionId").append('<li class="list-group-item"><div class="row justify-content-between"><div class="col-auto">' + user.name + '</div><div class="col-auto"><a class="btn btn-sm btn-success" asp-route-groupId=@Model.Group.Id asp-route-userId='+user.id+'>Wybierz</a></div></div></li>');
                    }
                }
            }
    });
</script>
 }
AdamWox
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Jastrzębie-Zdrój
  • Postów:2161
0

A gdzie masz onClick()?

A9
Masz na myśli event w js czy akcję kontrolera?
AdamWox
Masz link na przyciskach w podglądzie strony? Po co ci te plusy przy '+user.id+'
A9
W podglądzie strony mam link: "<a class="btn btn-sm btn-success" asp-action="AddUserToGroup" asp-controller="Settings" asp-route-groupid="12" asp-route-userid="6"">Wybierz</a> Zastanawia mnie tylko to, że tu chyba powinno być wygenerowany parametr hrew, a jest skopiowane to co javascript
AdamWox
Jakim cudem w podglądzie strony masz dalej asp-action, asp-controller? Powinno wygenerować na tej podstawie odpowiednie href w kodzie wynikowym

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.