private void datalistNavigateOrder_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
...................
...................
...................
if (e.CommandName == "Cancel")
{
entCollectionMallOrder.Id = datalistNavigateOrder.DataKeys[e.Item.ItemIndex].ToString();
this.entCollectionMallOrderDetail.CollectionMallOrder = entCollectionMallOrder;
this.bllCollectionMallOrder.DeleteEntity(entCollectionMallOrder);
System.Web.UI.Page currentPage= (System.Web.UI.Page)this.Page;
Response.Redirect(currentPage.Request.Url.ToString());
}
}
{
...................
...................
...................
if (e.CommandName == "Cancel")
{
entCollectionMallOrder.Id = datalistNavigateOrder.DataKeys[e.Item.ItemIndex].ToString();
this.entCollectionMallOrderDetail.CollectionMallOrder = entCollectionMallOrder;
this.bllCollectionMallOrder.DeleteEntity(entCollectionMallOrder);
System.Web.UI.Page currentPage= (System.Web.UI.Page)this.Page;
Response.Redirect(currentPage.Request.Url.ToString());
}
}
不是说的很清楚吗,deleteEntity调用的参数不对.
把你的DeleteEntity方法也贴出来看看
{
...........
...........
for(int i=0 ; i< dtOrderDetail.Rows.Count ;i++)
{
this.entCollectionMallStock = this.bllCollectionMallStock.GetStockByProductGUID(this.session,dtOrderDetail.Rows[i]["Mall_Product_GUID"].ToString());
this.entCollectionMallStock.MallProductCount= this.entCollectionMallStock.MallProductCount + Convert.ToInt32(dtOrderDetail.Rows[i]["CollectionMallProductCount"].ToString());
this.bllCollectionMallStock.UpdateEntity(this.session,this.entCollectionMallStock);
} if(this.bllCollectionMallOrderDetail.DeleteEntity(this.session,CollectionMallOrderData.Id)==false ||
this.dalCollectionMallOrder.DeleteData(this.session,CollectionMallOrderData)==false )
{
this._ErrorMessage=this.dalCollectionMallOrder.ErrorMessage;
this.transaction.Rollback();
this.session.Close();
return false;
}
else
{
this.transaction.Commit();
this.session.Close();
return true;
}
}在上面的函数里改成entCollectionMallOrder.Id = datalistNavigateOrder.DataKeys[e.Item.ItemIndex].ToString();
this.entCollectionMallOrderDetail.CollectionMallOrder = entCollectionMallOrder;
DataTable dtOrderDetail =new DataTable();
entCollectionMallStock.Id = datalistNavigateOrder.DataKeys[e.Item.ItemIndex].ToString();
this.bllCollectionMallOrder.DeleteEntity(entCollectionMallOrder,dtOrderDetail,entCollectionMallStock);
System.Web.UI.Page currentPage= (System.Web.UI.Page)this.Page;
Response.Redirect(currentPage.Request.Url.ToString());
已经是不报错了 能不能用还没测试呢