2016-02-07 37 views
0

我在Asp.net(Framework 4.0)中創建網站。Gridview單元格在Asp.NET中顯示空白值

在本網站中,我採用了一個Gridview,它充滿了頁面加載數據。

現在我試圖從Gridview插入數據到按鈕單擊數據庫。插入數據庫GridView單元格時顯示空白值。

代碼爲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)); 
    } 
} 

回答

0

我自己找到了我的答案。將數據從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.Cells [0] .text無法找到特定的行索引。因此,我已經添加 (((標籤)(g1.cells [g1.RowIndex] .FindControl( 「標籤」)))

代替g1.Cells [0]的.text;