I write index page using bootstrap data table and .net mvc and i want my last column to be redirect button to order details. I filled datatable using ajax/jquery and maked button in this last column. When i click on it nothing happend and i get following error: identifier starts immediately after numeric literal.
I put my code bellow
$(document).ready(function ()
{
$('#ordersList').DataTable({
"ajax": {
"type" : "GET" ,
"url" : "@Url.Action("GetData","OrderManager")" ,
"datatype" : "json"
},
"columns":
[
{ "data" : "CreatedAt" },
{ "data" : "FirstName" },
{ "data" : "Surname" },
{ "data" : "Email" },
{ "data": "OrderStatus" },
{ "data": "Id" , "render" : function ( data ) {
return "<a class= 'btn btn-danger' onclick = Menage(" + data + ")> Menage</a>";
}}
]
});
});
function Menage( id ) {
var url = '@Url.Action("UpdateOrder", "OrderManager", new { id = "__id__" })';
window.location.href = url.replace('__id__', id);
}
Controller name is: OrderManagerController Action is: UpdateOrder
public ActionResult GetData()
{
List<Order> data = orderService.GetOrderList();
return Json( new { data=data}, JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateOrder(string Id)
{
ViewBag.StatusList = new List<string>() {
"Order Created",
"Order Processed",
"Order Shipped",
"Order Complete"
};
Order order = orderService.GetOrder(Id);
return View(order);
}
[HttpPost]
public ActionResult UpdateOrder(Order UpdatedOrder, string Id)
{
Order order = orderService.GetOrder(Id);
order.OrderStatus = UpdatedOrder.OrderStatus;
orderService.UpdateOrder(order);
return RedirectToAction("Index");
}
What I have tried:
Replace
return "<a class= 'btn btn-danger' onclick = Menage(" + data + ")> Menage</a>";
with
return "<a class= 'btn btn-danger' onclick = 'Menage(" + data + ")'> Menage</a>";
but nothing happend