Jer*_*old 13 jquery jquery-ui jquery-ui-sortable asp.net-mvc-2
我已经实现了JQuery可排序,它工作正常.问题是我无法将新订单中的列表传递给控制器,因此我可以保存它.
<script type="text/javascript">
$(document).ready(function() {
$("#sortable").sortable({ axis: "y" });
});
$(function() {
$("#submit-list").button();
$("#submit-list").click(function() {
debugger;
$.ajax({
url: '/Admin/SortedLists/',
data: { items: $("#sortable").sortable('toArray') },
type: 'post',
traditional: true
});
});
});
</script>
<h2>Edit Roles</h2>
<div>
<ul id="sortable">
<% foreach (var item in Model.Roles) { %>
<li>
<%=Html.AttributeEncode(item.Name)%>
</li>
<% } %>
</ul>
<input type="submit" value="Save" id="submit-list"/>
</div>
Run Code Online (Sandbox Code Playgroud)
和我的控制器:
[HttpPost]
public EmptyResult SortedLists(List<string> items)
{
return new EmptyResult();
}
Run Code Online (Sandbox Code Playgroud)
列表项具有相应数量的元素 - 除了每个项目都是空字符串.
如果原始列表看起来像这样
并且用户拖拽和度假
我怎样才能通过新订单?我想id会在提交时传递整个内容,删除整个列表并重新提交整个列表
除非有更好的方法吗?利用Linq(使用Linq to SQL),我可以在每个变更中插入新订单并进行提交更改?
我所要做的就是为每个列表项填写id字段,之后toArray方法返回列表
<ul id="sortable">
<% foreach (var item in Model.Roles) { %>
<li id="<%=Html.AttributeEncode(item.Name)%>"><%=Html.AttributeEncode(item.Name)%></li>
<% } %>
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10527 次 |
| 最近记录: |