0

我在我的 ASP.Net MVC3 项目中使用数据表插件。在这里,我必须实现行重新排序。我使用“jQuery.dataTables.rowReordering.js”插件来实现它。对于 ui 它工作正常,但它未能调用服务器端函数。

<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实现行拖放。更新后的订单也将在数据库中更新。

4

1 回答 1

1

您应该将Updateorder函数更改为

public void UpdateOrder(int id, string fromPosition, string toPosition, string direction)

因为 jQuery 数据表实现了 mime 类型的 AJAX 功能("text")

于 2012-12-04T12:23:54.527 回答