Не удаётся передать 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 },
});