为什么我会遇到错误,索引和计数必须引用字符串中的位置。参数名称:count

时间:2018-12-29 16:32:40

标签: c# asp.net visual-studio

每当我单击“编辑”或“删除”时,两者都会出错。但是特别是当我单击“编辑”时,出现了错误“索引和计数必须引用字符串中的位置。参数名称:计数”。

对不起,我刚刚开始编程,对此很不好。

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

0 个答案:

没有答案