¿Cómo obtener valores de GridView de asp:BoundField?

¿Cómo obtener valores de GridView de asp:BoundField?

Puede probar el ciclo foreach para cumplir con su requisito que vincula la clase GridViewRow a su GridView Source.

foreach (GridViewRow gr in GridView1.Rows)
{         
    string cell_1_Value = gr.Cells[0].Text; 
    string cell_2_Value = gr.Cells[1].Text; 
}

Como sabe, la vista de cuadrícula tiene varias filas. Para que pueda obtener los valores de cualquiera de las filas.

Obtenerlo usando las claves de datos:

var ponumber = GridView1.DataKeys[rowIndex].Values[0].ToString();
var sitename = GridView1.DataKeys[rowIndex].Values[1].ToString();

Obtenerlo por celdas:

// easiest way, but not the most recommended.
var ponumber = GridView1.Rows[rowIndex].Cells[0].Text; // try 0 or 1

también puede obtener los datos en el evento de enlace de datos de fila:

protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
     if(e.Row.RowType == DataControlRowType.DataRow)
     {
       var ponumber = GridView1.DataKeys[e.Row.RowIndex].Values[0].ToString();
       var sitename = GridView1.DataKeys[e.Row.RowIndex].Values[1].ToString();
     }
}

foreach (GridViewRow gr in userGrid.Rows)
{
    CheckBox check = (CheckBox)gr.FindControl("chkSelect");
    if (check.Checked == true)
    {
        string order = userGrid.Rows[gr.RowIndex].Cells[3].Text;
        gl.updatetracking (order);
    }
}