/// <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 <ProductInfo> imagesList = bll.GetImagesListInProductIds(pIdAppend); UploadFilesHelper ufh = new 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) { foreach (ProductInfo model in imagesList) { ufh.DeleteProductImage(model.ImagesUrl); var sLImages = model.LImagesUrl.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in sLImages) { ufh.DeleteProductImage(item); } var sMImages = model.MImagesUrl.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in sMImages) { ufh.DeleteProductImage(item); } var sSImages = model.SImagesUrl.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in sSImages) { ufh.DeleteProductImage(item); } } } } //提交事务 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(); }