¿Cómo eliminar una fila de gridview en el evento del comando row?

Estoy tratando de eliminar la fila de gridview haciendo clic en ImageButton que se encuentra dentro de gridview. Estoy obteniendo el índice de fila, pero no sé cómo eliminar. Mi gridview se enlaza desde la sesión y no quiero volver a enlazar gridview.

Aquí está mi código:

protected void GVDetail_RowCommand(object sender, GridViewCommandEventArgs e)
  {
    if (e.CommandName.Equals("Remove"))
    {
      List<Class1> list = (List<Class1>)Session["value1"];
      int index = Convert.ToInt32(e.CommandArgument);
      GridViewRow gridRow = gvDetail.Rows[index];// (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);

      ((List<Class1>)Session["value1"]).RemoveAt(index);
    }
  }

Si alguien tiene alguna idea sobre esto, por favor, ayúdame ..

Respuestas a la pregunta(2)

Su respuesta a la pregunta