这是我如何做到这一点的MVC 2 编辑:我也用Haacked文章的HTML
部分中提到的json2.js脚本:
<ul class="sortList">
<% foreach(var item in Model){ %>
<li id="item_<%= item.ID %>">
jQuery的:
$(".sortList").sortable(
{
connectWith: ".sortList",
containment: "document",
cursor: "move",
opacity: 0.8,
placeholder: "itemRowPlaceholder",
update: function(event, ui) {
$.post("/Admin/UpdateSortOrder/", { sortlist: $(this).sortable("serialize") });
}
});
值被张贴:
"item_0d2243bf-e01d-4049-964c[]=d69b92009072&item_bab23d45-442b-4178-817c[]bbdea32ff226&item_e987ed37-cf30-4413-8687[]=9dc8d111482a"
动作
[HttpPost]
public ActionResult UpdateSortOrder(string sortlist)
{
string[] separator = new string[2] { "item_", "&" };
string[] tempArray = sortlist.Split(separator, StringSplitOptions.RemoveEmptyEntries);
if (tempArray.Length > 0)
{
for (int i = 0; i < tempArray.Length; i++)
{
tempArray[i] = tempArray[i].Replace("[]=", "-");
Guid _id = new Guid(tempArray[i]);
var temp = _session.Single<Photo>(x => x.ID == _id);
temp.Sortorder = i + 1;
_session.Update(temp);
_session.CommitChanges();
}
} return Content("volgorde aangepast");
}
您使用的是什么版本的MVC?只要MVC 3正确地绑定它,只要您通过jQuery – Jon 2011-02-09 11:34:25