Не удаётся передать id в метод контроллера через ajax

Это элемент таблицы:

<tbody>
    @for (int i = 0; i < @Model.Count; i++)
    {
        <tr onclick="GetOrder('@Model[i].Id')">
            <th scope="row">@(i + 1)</th>
            <td>@Model[i].Number</td>
            <td>@Model[i].Date.ToString("d")</td>
            <td>@Model[i].ProviderName</td>
        </tr>
    }
</tbody>

Функция js:

function GetOrder(id) {
$.ajax({
    url: "/Orders/GetOrder",
    type: "POST",
    data: { orderId: id }
});

В HTML генерится код: <tr onclick="GetOrder('1')"> И в метод контроллера вызов проходит. Но в js параметр id всегда =0, data=null и в метод контроллера всегда приходит '0'. В другом проекте подобный код работал, но тот проект был на net5, а этот на net6, и это единственное отличие. В чём тут может быть дело?


Ответы (1 шт):

Автор решения: GrifRift

Дьявол кроется в мелочах))) Контроллер ожидает параметр int id, соответственно data: { orderId: id } не верно. Нужно: data: { id: id }. Весь код:

function GetOrder(id) {
$.ajax({
    url: "/Orders/GetOrder",
    type: "POST",
    data: { id: id },
});
→ Ссылка