¡Hola!
La verdad no he tenido la necesidad de hacer que el usuario elija un valor de un popup y recogerlo en otra página. Pero me parece un buen aporte el de ustedes.
Ahora bien, existe otra forma de recoger datos de un formulario a otro. Y sin necesidad de usar objetos session. Imagínense que tenga yo una página A.aspx y otra B.aspx. En la página A.aspx tengo un linkbutton o botón que al momento de dar clic hace un server.transfer(B.aspx, true) ' Pongo true para que pase los valores de los controles a la otra página.
Entonces, en el load de la página B.aspx hago referencia a la página anterior y recojo los valores. Sería algo como esto:
Código:
Pagina = CType(HttpContext.Current.Handler, Page)
dblValor = CType(Pagina.FindControl("txtBceLibros"), TextBox).Text
strCuenta = CType(Pagina.FindControl("cobCuenta"), DropDownList).SelectedValue
Fíjense, el uso abusivo de objetos session puede hacer colapsar un servidor en algún momento, de acuerdo a la demanda de una página. Para casos en los cuales se necesita pasar datos de una página a otra solamente, esto les podría servir.