Редактировать метод в ASP.Net Core MVC почему ‘data-id’ в javascript всегда содержит 1, который я хочу, если я выберу пункт 2, чтобы идентификатор данных был равен 2

#c# #asp.net #asp.net-core #asp.net-mvc-4

#c# #asp.net #asp.net-core #asp.net-mvc-4

Вопрос:

 (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
я хочу «идентификатор данных» в соответствии с выбранным элементом, если я выбираю элемент 2, поэтому идентификатор данных равен 2 ‘

Ответ №1:

я хочу «идентификатор данных» в соответствии с выбранным элементом, если я выбираю элемент 2, поэтому идентификатор данных равен 2 ‘

Если ваши кнопки отображаются в строках таблицы, пожалуйста, измените id атрибут на class атрибут (идентификатор должен быть уникальным), как показано ниже.

 @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 $(".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");
        });
});
 

Кроме того, если кнопка является отдельным элементом на вашей странице просмотра, вам может потребоваться динамическое изменение data-id на основе выбранного элемента в событии выбора изменения и т. Д.

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