网格视图单元格以 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));
}
}
我自己找到了答案。将数据从 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].文本;