网格视图单元格以 Asp.NET 显示空白值

本文关键字:显示 空白 NET Asp 视图 单元格 网格 | 更新日期: 2023-09-27 18:33:36

我正在 Asp.net(框架4.0)中创建网站。

在这个网站中,我采用了一个网格视图,其中充满了页面加载的数据。

现在,我正在尝试在单击按钮时将数据从 Gridview 插入数据库。插入数据库时,网格视图单元格显示空白值。

网格视图绑定的代码如下所示

void BindGrid()
 {
   GridView1.DataSource = obj3.GetCart(sid, uid);
   GridView1.DataBind();
   int rowCount = GridView1.Rows.Count;
   if (rowCount == 0)
    {
       GridView1.Visible = false;
       lblCartCount.Visible = true;
       lblCartCount.Text = " No Items In Cart";
    }
    else
    {
       GridView1.Visible = true;
       GridView1.FooterRow.Cells[3].Text = "Total Price";
       GridView1.FooterRow.Cells[3].HorizontalAlign = HorizontalAlign.Right;
       GridView1.FooterRow.Cells[9].Text = totals.ToString();
       totprice = Convert.ToInt32(totals.ToString());
       totals = 0;
       lblCartCount.Visible = false;
   }
 }

用于"插入"按钮的代码 单击"将数据从 Gridview 插入到数据库"。

 protected void btnOrderNow_Click(object sender, EventArgs e)
{
    foreach (GridViewRow g1 in GridView1.Rows)
    {
        BindGrid();
        val1 = obj4.AddOrderItem(orderid, Convert.ToInt32(g1.Cells[2].Text),
        Convert.ToInt32(g1.Cells[5].Text), Convert.ToInt32(g1.Cells[4].Text),
        Convert.ToInt32(g1.Cells[6].Text), Convert.ToInt32(g1.Cells[7].Text),
        g1.Cells[0].Text, Convert.ToInt32(g1.Cells[1].Text));
    }
}

网格视图单元格以 Asp.NET 显示空白值

我自己找到了答案。将数据从 Gridview 插入数据库的代码具有以下一些更改。

protected void btnOrderNow_Click(object sender, EventArgs e)
{
    foreach (GridViewRow g1 in GridView1.Rows)
    {
        string sss = (((Label)(g1.Cells[g1.RowIndex].FindControl("lblSession"))).Text.Trim());
        int uuu = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("Label5"))).Text.Trim());
        int itemid = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("lblItemId"))).Text.Trim());
        int priceid = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("lblPriceId"))).Text.Trim());
        int quantity = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("lblItemQuantity"))).Text.Trim());
        int price = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("lblPrice"))).Text.Trim());
        int bprice = int.Parse(((Label)(g1.Cells[g1.RowIndex].FindControl("lblBulkPrice"))).Text.Trim());
        val2 = obj4.OrderTempCartUpdate(sss, uuu);
    }
}

在此而不是只采取g1。单元格[0].文本无法找到特定的行索引。所以我添加了(((标签)(g1.细胞[g1.行索引]。FindControl("LabelName")))。

而不是 G1。单元格[0].文本;