Procedura: rispondere a eventi del controllo server Web Button in script client
Aggiornamento: novembre 2007
I controlli Button possono generare sia eventi sul lato client che eventi sul lato server. Questi ultimi si verificano dopo i postback e vengono gestiti nel codice sul lato server scritto per la pagina. Gli eventi sul lato client sono gestiti in script client, in genere JavaScript (ECMAScript), e vengono generati prima dell'invio della pagina. Aggiungendo eventi sul lato client ai controlli Button ASP.NET, è possibile eseguire alcune attività, ad esempio visualizzare finestre di dialogo di conferma prima dell'invio della pagina e annullare completamente l'operazione di invio della pagina.
Per aggiungere uno script client che gestisce l'evento OnClientClick a un controllo server Web Button
Nel controllo server Web Button ASP.NET a cui si desidera aggiungere lo script client (un controllo Button, LinkButton o ImageButton), impostare la proprietà OnClientClick sullo script client che si desidera eseguire.
Nota: Per annullare l'invio, impostare la proprietà OnClientClick sulla stringa "Return" e sul nome della funzione. Lo script client potrà, quindi, annullare l'invio restituendo false.
Nell'esempio di codice riportato di seguito viene illustrato come aggiungere un evento script client click a un controllo Button.
<%@ Page Language="VB" %> <script > Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Label1.Text = "Server click handler called." End Sub </script> <body> <form id="form1" > <asp:Button ID="Button1" Runat="server" OnClick="Button1_Click" OnClientClick="return confirm('Ready to submit.')" Text="Test Client Click" /> <br /> <asp:Label ID="Label1" Runat="server" text="" /> </form> </body> </html>
<%@ Page Language="C#" %> <script > void Button1_Click(Object sender, EventArgs e) Label1.Text = "Server click handler called."; End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <body> <form id="form1" > <asp:Button ID="Button1" Runat="server" OnClick="Button1_Click" OnClientClick="return confirm('Ready to submit.')" Text="Test Client Click" /> <br /> <asp:Label ID="Label1" Runat="server" text="" /> </form> </body> </html>