E' un esempietto: funziona sia con IE sia con Mozilla
Pagina aspx
codice:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="messaggio_attesa_con_action.aspx.vb" Inherits="corso_apogeo.messaggio_attesa_con_action"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>messaggio_attesa_con_action</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">
<script language="javascript">
<!--
var w_messaggio_popup = null;
function apre_messaggio_popup()
{
//alert("apre_messaggio_popup");
document.Form1.target = "nascosto";
w_messaggio_popup = window.open("", "popup", "left=300px,top=50px,width=300px,height=300px,");
}
function chiude_messaggio_popup()
{
document.Form1.target = "_self";
if (w_messaggio_popup != null && w_messaggio_popup.open) w_messaggio_popup.close();
}
//-->
</script>
<script id="clientEventHandlersJS" language="javascript">
<!--
function window_onload() {
if(parent == self) return;
if(parent.chiude_messaggio_popup != undefined) parent.chiude_messaggio_popup();
}
//-->
</script>
</HEAD>
<body MS_POSITIONING="FlowLayout" language="javascript" onload="return window_onload()">
<iframe name="nascosto" width="0" height="0" style="VISIBILITY:hidden"></iframe>
<form id="Form1" method="post" runat="server">
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<asp:Button id="Button2" runat="server" Text="Button"></asp:Button>
</form>
</body>
</HTML>
codice sottostante:
codice:
Private Sub Button1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Init
Dim btn As Button = DirectCast(sender, Button)
btn.Attributes.Add("onclick", "apre_messaggio_popup();")
End Sub
L'evento click del pulsante di submit simula un processo oneroso
codice:
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim inizio As DateTime = DateTime.Now
Do While (Now().Subtract(inizio).Seconds <= 5)
Loop
End Sub