Ya te fijaste en esta linea??:
Código C:
Ver originalprivate void FindCliente()
{
//...
IdCliente = int.Parse(GridView1.DataKeys[row.RowIndex].Value.ToString());
//Guardo mi Variable en un Session para usarlo en otra pantalla.
Session["IdValor"] = IdCliente;
}
}
}
}
En este caso, el código que te menciono es para C#, y aquí estoy convirtiendo el valor del campo que encontré mediante el foreach con un Parse y despues la guardo en una Variable de session si o que deseas es guardar un Integer tu codigo cre que sería mas o menos así:
Código C#:
Ver original//Si el Valor del Index es Int:
Dim Variable as int;
VAriable = Me.GridView_productos.DataKeys(e.NewSelectedIndex);
ViewState("ValorVariable") = Variable;
A menos que el valor sea un String entonces usa Int.Parse
Avisa si te funcionó..
Saludos!