/// <summary> /// 批量删除数据 /// </summary> private void OnDelete() { string itemsAppend = hV.Value.Trim(); if (string.IsNullOrEmpty(itemsAppend)) { WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "请至少勾选一行进行操作", "操作错误", "error"); return; } if (bll == null) { bll = new BLL.Product(); } string[] itemsAppendArr = itemsAppend.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string pIdAppend = ""; List <string> list = new List <string>(); foreach (string item in itemsAppendArr) { list.Add(item); pIdAppend += string.Format("'{0}',", item); } pIdAppend = pIdAppend.Trim(','); IList <Model.Product> imagesList = bll.GetImagesListInProductIds(pIdAppend); WebHelper.UploadFilesHelper ufh = new WebHelper.UploadFilesHelper(); string errorMsg = ""; try { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted; options.Timeout = TimeSpan.FromSeconds(90); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { if (bll.DeleteBatch(list)) { if (imagesList != null) { try { foreach (Model.Product model in imagesList) { string sImagesAppend = model.ImagesAppend; string[] images = sImagesAppend.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in images) { ufh.DeleteProductImage(item); } } } catch { } } } //提交事务 scope.Complete(); } } catch (Exception ex) { errorMsg = ex.Message; } if (!string.IsNullOrEmpty(errorMsg)) { WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, errorMsg, "系统异常提示"); return; } WebHelper.MessageBox.MessagerShow(this.Page, lbtnPostBack, "操作成功"); Bind(); }