<%@ Page Language="VB" %>
<script runat="server">
Dim counter As Integer
Sub Page_Load()
If Session("counter") Is Nothing Then
counter = 0
Else
counter = CInt( Session("counter") )
End If
SafeButton.Attributes.Add("onclick", "disableButton();return true")
End Sub
Sub Process_Click(sender As Object, e As EventArgs)
counter += 1
Session("counter") = counter
Dim i As Long
' 2-second delay
Dim endTime As DateTime = DateTime.Now.AddSeconds(2)
While DateTime.Now < endTime
End While
Label1.Text = counter.ToString()
Label2.Text = DateTime.Now.ToString()
End Sub
Sub ClearCounter_Click(sender As Object, e As EventArgs)
Session("counter") = 0
Label1.Text = Session("counter").ToString()
End Sub
</script>
<html>
<head>
<style>
BODY {
FONT-SIZE: 10pt; FONT-FAMILY: verdana; arial:
}
H2 {
FONT-SIZE: 14pt; FONT-FAMILY: verdana; arial: font-weight:bold
}
</style>
<script language="javascript">
function disableButton()
{
document.form1.SafeButton.style.visibility = "hidden";
}
</script>
</head>
<body>
<form ></span>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<script runat="server">
Protected sessionGuid As String
Protected viewstateGuid As String
Protected doublePost As Boolean
Protected pageCounter As Integer
Sub Page_Load()
If Session("pageCounter") Is Nothing Then
pageCounter = 0
Session("pageCounter") = 0
Else
pageCounter = CInt(Session("pageCounter"))
End If
Dim newGuid As String = System.guid.NewGuid.ToString
If IsPostBack Then
sessionGuid = Session("guid").ToString()
viewstateGuid = Viewstate("guid").ToString()
If sessionGuid = viewstateGuid Then
doublePost = false
Else
doublePost = true
Response.Write("Page has already been submitted.")
End If
End If
Viewstate("guid") = newGuid
Session("guid") = newGuid
End Sub
Sub Button1_Click(sender As Object, e As EventArgs)
System.Threading.Thread.Sleep(2000) ' Fake a long process
If Not DoublePost Then
pageCounter += 1
Session("pageCounter") = pageCounter
End If
Label1.Text = pageCounter.ToString()
End Sub
</script>
<html>
<body>
<form runat="server">
<p>
<asp:Button >Label</asp:Label>
</p>
</form>
</body>
</html>