Les voy a pasar un ejemplo para que no necesariamente usen una variable de session..(aunque usé algo de javascript

)
Lo voy a hacer con 2 páginas
pagina1.aspx
supongamos que tengo un form con un boton y un textbox y lo quiero pasar a otra página por post.
<form id="Form2"
method="post" runat="server">
<asp:button id="Button1" runat="server" Text="Button"></asp:button>
<asp:textbox id="TextBox1" runat="server"></asp:textbox>
</form>
Pero aqui viene el truco en el script..
Cita: <script language="javascript">
function noPostBack(sNewFormAction)
{
document.forms[0].action = sNewFormAction;
document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
}
</script>
De tal forma que la pagina en modo html quedaría:
Cita: <HTML>
<HEAD>
<title>pagina1</title>
<script language="javascript">
function noPostBack(sNewFormAction)
{
document.forms[0].action = sNewFormAction;
document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
}
</script>
</HEAD>
<body>
<form id="Form2" method="post" runat="server">
<asp:button id="Button1" runat="server" Text="Button"></asp:button>
<asp:textbox id="TextBox1" runat="server"></asp:textbox>
</form>
</body>
</html>
y en el codebehind agregar la siguiente línea:
Cita: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
...
..
Button1.Attributes.Add("onclick", "noPostBack('pagina2.aspx');")
..
..
End Sub
Con ello al hacer click (que propiamente en el cliente es un submit) los llevará a la página destino para recoger el valor.
pagina2.aspx
Cita: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Handles MyBase.Load
Response.Write(Request.Form("Textbox1").ToString)
End Sub
Tambien una vez leí que también se puede hacer el post con el System.Net.WebRequest pero no lo recuerdo bien..en cuanto tenga mas info se las paso ok..??
Espero les sirva éste ejemplo...