Que tal.
Hasta donde entiendo, ahora en ASP.Net, esto que mencionas se puede acer en una sola página, puedes poner el textbox y el boton de busqueda en un div (Panel1) y el resto de los campos en otro panel(Panel2)
El panel2 lo haces visible o invisible dependiendo del contexto, y el valor lo recuperas con la propiedad del Textbox de forma inmediata.
Ahora bien, sí es necesario hacerlo en dos páginas, puedes pasarlo mediante el QueryString ( tal como se hace en ASP tradicional), como en el siguiente ejemplo:
Código:
'En la página 1
Response.Redirect("uPagina2.aspx?pstValor=Algunvalor")
...
' o Bien
'Response.Redirect("uPagina2.aspx?pstValor=" & txtValor.text)
...
...
'En la página 2 (para recuperar)
strValor = Request("pstAction")
...
cmdLP.Parameters.Add("@LEGAJO_PERSONAL", strValor)
Finalmente te recomiendo declarar los parametros de la siguiente manera:
Código:
prmParam = New SqlClient.SqlParameter("@pstrDescripcion", SqlDbType.VarChar, 255)
prmParam.Direction = ParameterDirection.Input
prmParam.Value = pstrDescripcion
Es un poco más ilustrativo pues se identifica de manera rápida, el tipo de dato y su longitd.
Espero que sea lo que estas buscando, y cualquier duda aquí estamos.
Saludos