ho fatto un piccolo esempio poco tempo fa:
Pagina 1:
codice:
-ASPX-
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="1.aspx.vb" Inherits="studio._1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>_1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Label ID="lbpb" Runat="server"></asp:Label>
<asp:Button id="btPB" runat="server" Text="Aumenta Contatore"></asp:Button>
<asp:Button ID="btVai" Runat="server" Text="Vai alla pagina 2"></asp:Button>
</form>
</body>
</HTML>
-VB-
Public Class _1
Inherits System.Web.UI.Page
Protected WithEvents lbpb As System.Web.UI.WebControls.Label
Protected WithEvents btVai As System.Web.UI.WebControls.Button
Protected WithEvents btPB As System.Web.UI.WebControls.Button
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
viewstate("pbs") = 1
Else
viewstate("pbs") += 1
End If
lbpb.Text = viewstate("pbs")
End Sub
Private Sub btVai_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btVai.Click
Response.Redirect("2.aspx")
End Sub
End Class
Pagina2:
codice:
-ASPX-
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="2.aspx.vb" Inherits="studio._2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>_2</title>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button ID="btPost" Runat="server" Text="Fai il PostBack"></asp:Button>
<div align=center>
<asp:Button ID="btIndietro" Runat="server" Text="Indietro"></asp:Button>
</div>
</form>
</body>
</HTML>
-VB-
Public Class _2
Inherits System.Web.UI.Page
Protected WithEvents btIndietro As System.Web.UI.WebControls.Button
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
viewstate("checkpoint") = -1
Else
viewstate("checkpoint") -= 1
End If
Response.Write("Numero di PB:" & Math.Abs(viewstate("checkpoint")))
End Sub
Private Sub btIndietro_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btIndietro.Click
JavaScript.TornaIndietro(Me, viewstate("checkpoint"))
End Sub
End Class
La funzioncina che torna indietro:
codice:
Public Class Javascript
Public Shared Function TornaIndietro(ByVal pagina As Page, ByVal NumeroPostBack As Integer)
Dim js As String = "<script language=""javascript"" type=""text/javascript"">window.history.go(" & NumeroPostBack & ");</script>"
If (Not pagina.IsStartupScriptRegistered("clientscript_historyback")) Then
pagina.RegisterStartupScript("clientscript_historyback", js)
End If
End Function
End Class
"studio" è la solution che uso per gli esperimenti