我在ASP.Net MVC3项目中使用datatable插件。在这里我要实现 行重新排序。我使用“jQuery.dataTables.rowReordering.js”插件来实现它。对于你而言 工作正常,但它无法调用服务器端功能。
<script type="text/javascript">
$(document).ready(function () {
$('#myDataTable').dataTable().rowReordering({sURL: "/AdminArea/UpdateOrder" });
});
</script>
我的控制器代码是
public ActionResult Index()
{
return View(db.AdminAreas.ToList());
}
public void UpdateOrder(int id, int fromPosition, int toPosition, string direction)
{
}
查看
<table id="myDataTable">
<thead>
<tr>
<th>
OrderNo
</th>
<th>
SubArea
</th>
<th>
Description
</th>
</tr>
</thead>
<tbody>
@{
if (@ViewData["SubAreaForArea"] != null)
{
IEnumerable<GridDragAndDrop.Models.SubAreaForAdmin> subarea = ViewData["SubAreaForArea"] as IEnumerable<GridDragAndDrop.Models.SubAreaForAdmin>;
foreach (var item in subarea)
{
<tr class="order">
<td>
@Html.DisplayFor(modelItem =>item.OrderNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.SubArea)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
}
}
</tbody>
</table>
我找不到问题。所以请帮我实现行拖放使用 jQuery的。更新的订单也将在数据库中更新。
答案 0 :(得分:1)
您应该将 Updateorder 功能更改为
public void UpdateOrder(int id, string fromPosition, string toPosition, string direction)
因为jQuery数据表使用mime类型("text")