public async Task <JsonResult> Delete(FormCollection fc) { string keyword = CommonHelper.GetValue(Request["keyword"]); int pgnum = CommonHelper.GetValue <int>(Request["pgnum"], 1); int pgsize = CommonHelper.GetValue <int>(Request["pgsize"], 0); string ids = fc.Get("id[]"); string[] idlist = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string itemscount = null; ISession se = NHibernateHelper.CurrentSession; await DeleteReferences(se, idlist); await Task.Run(() => { using (ITransaction tx = se.BeginTransaction()) { se.CreateQuery("delete from Department where id in (:idlist)") .SetParameterList("idlist", idlist) .ExecuteUpdate(); tx.Commit(); } }); itemscount = await DepartmentHelper.GetItemMessage(keyword, pgnum, pgsize); return(Json(new Dictionary <string, object> { { "success", 1 }, { "itemscount", itemscount }, { "message", string.Format("{0} Department(s) was successfully deleted.", idlist.Length) } }, JsonRequestBehavior.AllowGet)); }