У меня есть две кнопки, отображаемые в каждой строке в моем datatable, Edit и Delete. Можно ли захватить идентификатор сотрудника или идентификатор строки на кнопке «Удалить» или «Изменить» и передать это значение идентификатора в веб-метод, который у меня есть, который принимает параметр ID, чтобы удалить запись из базы данных?JQuery datatable получить идентификатор строки с помощью кнопки
Мой JQuery код до сих пор:
$(document).ready(function() {
$.support.cors = true;
$.ajax({
url: '<%=ResolveUrl("GetEmployee.aspx") %>',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
var table = $('#datatable').dataTable({
data: data,
columns: [
{ 'data': 'Id' },
{ 'data': 'image' },
{ 'data': 'lastName' },
{ 'data': 'firstName' },
{ 'data': 'jobTitle' },
{
'data': 'StartDate',
'render': function (jsonDate) {
var date = new Date(parseInt(jsonDate.substr(6)));
var month = date.getMonth() + 1;
return date.getDate() + "/" + month + "/" + date.getFullYear();
}
},
{
'data': 'EndDate',
'render': function (jsonDate) {
var date = new Date(parseInt(jsonDate.substr(6)));
var month = date.getMonth() + 1;
return date.getDate() + "/" + month + "/" + date.getFullYear();
}
},
{
'data': null,
'render': function (data, type, row) {
return '<button id="' + row.id +'" onclick="editClick()">Edit</button>'
}
},
{
'data': null,
'render': function (data, type, row) {
return '<button id="' + row.id + '" class="dodo" onclick="deleteClick()">Delete</button>'
}
}
]
});
}
});
$('#datatable').on('click', 'button', function() {
var id = $(this).data();
//var id = table.row($(this)).data();
alert(JSON.stringify(id));
});
});
Сейчас его возвращение мое неопределенное, когда я пытаюсь захватить идентификатор.
Мой WebMethod:
[WebMethod]
public static void DeleteRecord(string id)
{
var query = "DELETE FROM employee WHERE ID=?";
OdbcConnection myConn = new OdbcConnection(myConnection);
OdbcTransaction transaction = null;
myConn.Open();
transaction = myConn.BeginTransaction();
OdbcCommand command = new OdbcCommand(query, myConn, transaction);
command.Parameters.Add("ID", OdbcType.Int).Value = id;
command.ExecuteNonQuery();
transaction.Commit();
myConn.Close();
}
Спасибо!
Вы можете сделать это более легко, используя 'jquery'. –
Спасибо за ответ и да, это можно сделать, но здесь OP просто хочет, чтобы решение передало идентификатор сотрудника или идентификатор строки. Таким образом, это один из способов его получения. Отдых подходит для OP, чтобы выбрать подходящий ответ. – Prabhat
@SuprabhatBiswal Эй, спасибо, что сработало отлично. Я соглашусь на это как на ответ, поскольку я попробовал другие, и это не сработало для меня. Спасибо всем другим за вклад. Ценить это. –