如何使用数据 ID 发送多个 ID

How to send several Id with Data-id

本文关键字:ID 数据 何使用      更新时间:2023-09-26

这里是li,它使用数据ID发送控制器ID;

 <li><a href="javascript:;" data-toggle="mftapproveClass" data-title="@item.Name" data-url="@Url.Action("AssignParticipantToClass")" data-id="@item.Id , @item.CourseId , @item.ClassId"><i class="fa fa-thumbs-o-up"></i>Kabul Et</a></li>

这是 JSTHAT ı 写了我自己将 1 个 ID 发送到控制器;

$('[data-toggle="mftapproveClass"]').click(function () {
    var id = $(this).data("id");
    var courseId = $(this).data("courseId");
    var classId = $(this).data("classId");
    var url = $(this).data("url") + "/" + id + "/" + courseId + "/" + classId;
    var title = $(this).data("title");
    bootbox.confirm({
        title: "İşlem Onayı",
        message: "<center><strong>" + title + "</strong> İşlemi onaylıyor musunuz?</center>",
        buttons: {
            'cancel': {
                label: 'İptal',
                className: 'btn-default'
            },
            'confirm': {
                label: 'Tamam',
                className: 'btn-danger blue'
            }
        },
        callback: function (result) {
            if (result) {
                $("#preLoader").fadeIn('fast');
                $.post(url, function (json) {
                    if (json.IsComplete) {
                        $("#" + id).remove();
                        BSToastr.show("success", "Başarılı", "İşleminiz Başarıyla Gerçekleştirildi.");
                    }
                    else {
                        BSToastr.show("error", "Hata", "İşleminiz Gerçekleştirilemedi.");
                    }
                    $("#preLoader").fadeOut('fast');
                });
            }
        }
    });

});

使用的是 1 个 id,但现在我需要 3 个我正在尝试更改,但它不起作用我正在尝试向控制器发送 3 个不同的 ID,但使用 1 个数据 ID 它可以工作,但使用 3 个它不起作用。这将如何发送 3 个 ID

这是输出;

POST http://localhost:17458/Panel/Course/AssignParticipantToClass/413%20,%208%20,%202/undefined/undefined 404 (Not Found)
send @ jquery-1.10.2.min.js:6x.extend.ajax @ jquery-1.10.2.min.js:6x.(anonymous function) @ jquery-1.10.2.min.js:6bootbox.confirm.callback @ global.js:210a.buttons.confirm.callback @ bootbox.min.js:6e @ bootbox.min.js:6(anonymous function) @ bootbox.min.js:6x.event.dispatch @ jquery-1.10.2.min.js:5v.handle @ jquery-1.10.2.min.js:5

可以将每个属性值添加为data-属性

<a href="#" ... data-id="@item.Id" data-courseid="@item.CourseId" data-ClassId="@item.classid">...</a>

,然后在脚本中使用

var id = $(this).data("id");
var courseId = $(this).data("courseid");
var classId = $(this).data("classid");

请注意,必须在 .data() 方法中使用全部小写字母访问它们。如果您检查data-cOuRseID="someValue"生成的 html,您将看到它被转换为小写 - data-courseid="someValue"

除非您为方法创建了特定的路由定义,例如

url: "Panel/Course/AssignParticipantToClass/{id}/{courseId}/{classId}"

然后你需要修改你的脚本来使用

var url = $(this).data("url"); // don't add the route values

然后在 .post() 方法中,使用

$.post(url, { id: id, courseId : courseId, classId: classId }, function (json) {