HOW TO:回應用戶端指令碼中的 Button Web 伺服器控制項事件
更新:2007 年 11 月
按鈕控制項可以同時引發伺服器和用戶端事件。伺服器事件會在回傳後發生,並且會在為網頁所撰寫的伺服器端程式碼中處理這些事件。用戶端事件會在用戶端指令碼中處理 (通常是 JavaScript (ECMAScript)),並且會在送出網頁之前引發。您可以藉由將用戶端事件加入 ASP.NET 按鈕控制項,以執行在送出網頁之前顯示確認對話方塊以及完全取消網頁送出作業之類的工作。
若要將處理 OnClientClick 事件的用戶端指令碼加入至按鈕 Web 伺服器控制項
在想要加入用戶端指令碼的 ASP.NET 按鈕 Web 伺服器控制項 (Button、LinkButton 或 ImageButton 控制項) 中,將 OnClientClick 屬性設定為想要執行的用戶端指令碼。
注意事項: 如果您想要能夠取消送出作業,請將 OnClientClick 屬性設定為 "Return" 字串和函式名稱。然後用戶端指令碼就能夠藉由傳回 false 取消送出作業。
下列程式碼範例示範如何將用戶端指令碼點擊事件加入至 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>