基于BootStrap的Metronic框架实现页面链接收藏夹功能(2)

var grid_body = document.getElementById('grid_body'); new Sortable(grid_body, { handle: '.glyphicon-move', filter: ".js-remove", animation: 150, onUpdate: function (/**Event*/evt) { var list = [];//构造集合对象 $('.list-group div a').each(function (i, item) { list.push({ 'Text': item.text, 'Value': item.href }); }); var url = "/WebFavorite/EditFavorite"; var postData = { list: list }; $.post(url, postData, function (json) { var data = $.parseJSON(json); if (data.Success) { //showTips("操作成功"); Refresh();//刷新页面数据 } else { showTips(data.ErrorMessage); } }); }, });

这样我们把业务处理交给EditFavorite方法了,这里面主要对列表记录进行统一更新即可,处理逻辑就是先删除以前的记录,然后添加列表的集合记录,并且设置它们的排序记录为合适的顺序即可。

/// <summary> /// 编辑记录列表 /// </summary> /// <param>记录列表</param> /// <returns></returns> [HttpPost] public ActionResult EditFavorite(List<CListItem> list) { CommonResult result = new CommonResult(); var userid = CurrentUser.ID; DbTransaction trans = BLLFactory<WebFavorite>.Instance.CreateTransaction(); if (trans != null) { try { //先删除就记录 var condition = string.Format("Creator='{0}'", userid); BLLFactory<WebFavorite>.Instance.DeleteByCondition(condition, trans); //逐条添加记录 int i = list.Count; foreach (CListItem item in list) { WebFavoriteInfo info = new WebFavoriteInfo(); info.Title = item.Text; info.Url = item.Value; info.Seq = i--; info.Creator = CurrentUser.ID.ToString(); BLLFactory<WebFavorite>.Instance.Insert(info, trans); } trans.Commit(); result.Success = true; } catch(Exception ex) { result.ErrorMessage = ex.Message; trans.Rollback(); LogHelper.Error(ex); } } return ToJsonContent(result); }

以上就是对收藏夹列表进行拖动排序的改进处理,希望在实际的项目中能够合理利用这个Sortable的JS组件,能够提高我们用户的体检效果。如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzfjww.html