这是使用data-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>
这里是jsthatı写了myselft将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 Ids
这是输出;
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
答案 0 :(得分:1)
您可以将每个属性值添加为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) {