这是使用数据ID发送控制器ID的li;
<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>
这是我写自己给1发送ID到控制器的js;
$('[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) {