Javascript 使用MVC将多个值传递到服务器端Datatable Jquery中的按钮
我试图将MessageId和MobileNumber的值作为参数传递给Delete按钮。目前,当我运行下面的javascript代码时,只显示MessageId的值(我不知道如何添加MobileNumber的值)。需要帮忙吗Javascript 使用MVC将多个值传递到服务器端Datatable Jquery中的按钮,javascript,asp.net-mvc,datatables,Javascript,Asp.net Mvc,Datatables,我试图将MessageId和MobileNumber的值作为参数传递给Delete按钮。目前,当我运行下面的javascript代码时,只显示MessageId的值(我不知道如何添加MobileNumber的值)。需要帮忙吗 var schedulemessageListVM; $(function () { schedulemessageListVM = { dt: null, init: function () {
var schedulemessageListVM;
$(function () {
schedulemessageListVM = {
dt: null,
init: function () {
dt = $('#schedulemessage-data-table').DataTable({
"dom": '<"top"if>rt<"bottom"lp><"clear">',
"pageLength": 10,
"serverSide": true,
"processing": true,
"order": [[0, "desc"]],
"ajax": {
"url": "/MessageReport/LoadData2",
"type": "POST",
"datatype": "json"
},
"columns": [
{
"targets": [0],
"data": "MessageId", "autoWidth": true,
"render": function (data, type, full)
{
// Pass the value of MessageId and MobileNumber into the button
var a = '@Html.ActionLink("Delete", "Delete", "MessageReport", new { id = "MessageId" }, new { @class = "btn btn-xs btn-danger" })'.replace("MessageId", data);
return a;
},
},
{ "title": "Message Id", "data": "MessageId", "name": "MessageId", "autoWidth": true }
{ "title": "Mobile Number", "data": "MobileNumber", "name": "MobileNumber", "autoWidth": true }
]
});
}
}
// initialize the datatables
schedulemessageListVM.init();
});
var schedulemessageListVM;
$(函数(){
schedulemessageListVM={
dt:null,
init:函数(){
dt=$('#schedulemessage数据表')。数据表({
“dom”:“rt”,
“页面长度”:10,
“服务器端”:正确,
“处理”:对,
“订单”:[[0,“说明”]],
“ajax”:{
“url”:“/MessageReport/LoadData2”,
“类型”:“职位”,
“数据类型”:“json”
},
“栏目”:[
{
“目标”:[0],
“数据”:“MessageId”,“autoWidth”:true,
“渲染”:函数(数据、类型、完整)
{
//将MessageId和MobileNumber的值传递到按钮中
var a='@Html.ActionLink(“删除”,“删除”,“消息报告”,新的{id=“MessageId”},新的{@class=“btn btn xs btn danger”})。替换(“MessageId”,数据);
返回a;
},
},
{“title”:“Message Id”,“data”:“MessageId”,“name”:“MessageId”,“autoWidth”:true}
{“title”:“Mobile Number”,“data”:“MobileNumber”,“name”:“MobileNumber”,“autoWidth”:true}
]
});
}
}
//初始化数据表
schedulemessageListVM.init();
});
您可以使用以下方法,在单击按钮之前不需要传递任何复杂的数据:
首先为按钮创建一行,并添加一个DeleteBtn
类,以便稍后将其用作选择器。我不需要更多的信息
"columns":[{
"data": "Delete",
"defaultContent": '<button class="btn btn-danger DeleteBtn">Delete</button>',
"title": "Delete"
}, ...
现在,传递的数据包含您可能需要的所有信息,可以像这样使用:
fucntion myDeleteFunction(data){
alert(data.MessageId);
alert(data.MobileNumber);
}
或该行所需的任何其他数据
如果您不熟悉
$(“#myTable”).DataTable().row($(this).parents($).data())
概念:
$(“#myTable”).DataTable()定义将使用与DataTables相关的方法
.row()
用于选择表中的一行,需要一个选择器
this.parents(“tr”)
选择表中包含单击的删除按钮的行
.data()
将所选行的数据作为对象返回。在同事的帮助下找到了问题的解决方案。张贴以帮助将来有相同问题的人
"render": function (data, type, full)
{
{
return '<a class="btn btn-danger" href="/MessageReport/Delete?MessageId='+full.MessageId+'&MobileNumber='+full.MobileNumber+'">Delete </a>';
}
}
“呈现”:函数(数据、类型、完整)
{
{
返回“”;
}
}
感谢您的回答,它帮助了我:)
"render": function (data, type, full)
{
{
return '<a class="btn btn-danger" href="/MessageReport/Delete?MessageId='+full.MessageId+'&MobileNumber='+full.MobileNumber+'">Delete </a>';
}
}