C sharp - No pasa valor de ViewState en Try

 
Vista:
Imágen de perfil de Guillo

No pasa valor de ViewState en Try

Publicado por Guillo (49 intervenciones) el 10/01/2015 01:11:30
Hola, como les va?, como dice el titulo, el problema es que meto valor en ViewState de Id de Tabla a través de DataKeyNames , mediante fila seleccionada de Grid,....................Son 3 Grids independientes en el mismo WebForm, por lo tanto, cada uno con un ViewState........Con Punto de Interrupción compruebo que los valores han sido captados.....

Una vez capturados los valores de las filas, y metidos en los ViewState, paso al Try para meterlos en Tabla, y luego de apretar botón Aceptar, pero no se llena la Tabla..............Con Punto de Interrupción compruebo que los valores no están.......

A continuación, dejo código para ver si alguien se da cuenta de que es lo que sucede (sintácticamente o de otra forma), y cual seria la solución, aportándola.......(Los Grids se llenan solos en el Page_Load)



protected void GridMateria_SelectedIndexChanged(object sender, EventArgs e)
{
// Se obtiene la fila seleccionada del gridview

GridViewRow row = GridMateria.SelectedRow;

// Obtengo el id de la entidad que se esta editando
// en este caso de la entidad Materia

ViewState["idMateria"] = Convert.ToInt32(GridMateria.DataKeys[row.RowIndex].Value);

}

protected void GridCurso_SelectedIndexChanged(object sender, EventArgs e)
{
// Se obtiene la fila seleccionada del gridview

GridViewRow row = GridCurso.SelectedRow;

// Obtengo el id de la entidad que se esta editando
// en este caso de la entidad Curso
ViewState["idCurso"] = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);

}

protected void GridProfesor_SelectedIndexChanged(object sender, EventArgs e)
{
// Se obtiene la fila seleccionada del gridview
GridViewRow row = GridProfesor.SelectedRow;

// Obtengo el id de la entidad que se esta editando
// en este caso de la entidad Profesor
ViewState["idProfesor"] = Convert.ToInt32(GridProfesor.DataKeys[row.RowIndex].Value);
}
protected void ButtonAceptar_Click(object sender, EventArgs e)
{
try
{
string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
OleDbConnection cnn = new OleDbConnection(cadenaConexion);
cnn.Open();
string sql = string.Empty;
sql = @"INSERT INTO CursosMaterias (id_Materia, id_Curso, Id_persona)
VALUES (@idMateria, @idCurso, @idProfesor)";
OleDbCommand cmd = new OleDbCommand(sql, cnn);
cmd.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
cmd.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
cmd.Parameters.AddWithValue("@idProfesor", (ViewState["idProfesor"]));
}


Mil millones de gracias a todos, un abrazo, espero devolución......
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder