ASP.Net 核心 MVC 中的编辑方法为什么 javascript 中的 'data-id' 总是包含 1 我想要如果我 select 项目 2 所以数据 ID 是 2

Edit Method in ASP.Net Core MVC why 'data-id' in javascript always contains 1 i want if i select item 2 so data-id is 2

(THIS IS JS)
$("#editBtn").click(function () {
    $.ajax({
        url: '/Products/Edit',
        data: {
            ID: $(this).attr('data-id')
        }
    })
        .done(function (response) {
            $("#actionContainer").html(response);
        })
        .fail(function (XMLHttpRequest, textStatus, errorThrown) {
            alert("Fail");
        });
});

(THIS HTML CODE)
<button type="button" id="editBtn" data-id="@item.ID">New</button>

'这是 asp.net 核心 mvc 中的编辑方法,使用 ajax 我想要 'data-id' 根据 selected item,如果我 select item 2 所以 data-id 是 2'

i want 'data-id' according to selected item, if i select item 2 so data-id is 2'

如果您的按钮在 table 行中呈现,请将 id 属性更改为 class 属性(id 应该是唯一的),如下所示。

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        @*code of other fields*@
        <td>
            <button type="button" class="editBtn" data-id="@item.ID">New</button>
        </td>
    </tr>
}

使用 .class select 或 $(".editBtn")

修改您的代码
$(".editBtn").click(function () {
    $.ajax({
        url: '/Products/Edit',
        data: {
            ID: $(this).attr('data-id')
        }
    })
        .done(function (response) {
            $("#actionContainer").html(response);
        })
        .fail(function (XMLHttpRequest, textStatus, errorThrown) {
            alert("Fail");
        });
});

此外,如果按钮在您的视图页面中是一个单独的元素,您可能需要根据 select 在 select 更改事件等中编辑的项目动态更改 data-id

$("#editBtn").attr("data-id", 2)