每当我单击“编辑”或“删除”时,两者都会出错。但是特别是当我单击“编辑”时,出现了错误“索引和计数必须引用字符串中的位置。参数名称:计数”。
对不起,我刚刚开始编程,对此很不好。
private string email;
private int OrderId;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
email = Session["Company"].ToString();
lbl_Company.Text = Session["CurrentCompanyName"].ToString();
lbl_email.Text = email;
lbl_Phone.Text = Session["CompanyPhone"].ToString();
bindGridView(email);
lbl_totalPrice.Text = "$ " + getTotalPrice().ToString();
if (getTotalPrice() == 0)
{
btn_Order.Visible = false;
}
}
}
public decimal getTotalPrice()
{
decimal totalPrice = 0;
decimal price;
foreach (GridViewRow row in gvOrderedItems.Rows)
{
price = decimal.Parse(row.Cells[5].Text.Remove(0, 1));
totalPrice += price;
}
return totalPrice;
}
private void bindGridView(string email)
{
email = Session["Company"].ToString();
BLLproductListOrder productOrder = new BLLproductListOrder();
DataSet ds = productOrder.getAllProductListOrder(email);
gvOrderedItems.DataSource = ds;
gvOrderedItems.DataBind();
}
protected void gvOrderedItems_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int result = 0;
BLLproductListOrder prodOrd = new BLLproductListOrder();
OrderId = int.Parse(gvOrderedItems.DataKeys[e.RowIndex].Value.ToString());
result = prodOrd.deleteproductListOrder(OrderId);
if (result > 0)
{
Response.Write("<script>alert('Merchandise Remove successfully');</script>");
}
else
{
Response.Write("<script>alert('Merchandise Removal NOT successfully');</script>");
}
Response.Redirect("AllOrders.aspx");
}
protected void gvOrderedItems_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvOrderedItems.EditIndex = -1;
bindGridView(email);
}
protected void gvOrderedItems_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int result = 0;
string email = lbl_email.Text;
BLLproductListOrder updateQty = new BLLproductListOrder();
int selectedRow = e.RowIndex;
OrderId = (int)gvOrderedItems.DataKeys[selectedRow].Value;
GridViewRow row = (GridViewRow)gvOrderedItems.Rows[selectedRow];
TextBox qty = (TextBox)row.FindControl("tb_Qty");
decimal price = decimal.Parse(row.Cells[4].Text.Remove(0, 1));
result = updateQty.updateProductListOrder(OrderId, int.Parse(qty.Text), price, email);
if (result > 0)
{
Response.Write("<script>alert('Update successful');</script>");
}
else
{
Response.Write("<script>alert('Update Not successful');</script>");
}
Response.Redirect("OrderItems.aspx");
lbl_totalPrice.Text = getTotalPrice().ToString();
}
protected void gvOrderedItems_RowEditing(object sender, GridViewEditEventArgs e)
{
gvOrderedItems.EditIndex = e.NewEditIndex;
bindGridView(email);
lbl_totalPrice.Text = getTotalPrice().ToString();
}
索引和计数必须引用字符串中的位置。参数名称:count