Практическое руководство. Отклик на события серверного веб-элемента управления "Кнопка" в клиентском сценарии
Обновлен: Ноябрь 2007
Элемент управления «Кнопка» может вызывать как события на стороне сервера, так и на стороне клиента. Серверные события возникают после обратных передач и обрабатываются в коде страницы на стороне сервера. Клиентские события обрабатываются в клиентском сценарии, как правило, JavaScript (ECMAScript) и вызываются перед отправкой страницы. Добавление к элементу управления ASP.NET «Кнопка» событий, выполняющихся на стороне клиента, позволяет реализовывать разнообразные задачи, например, отображать диалоговые окна с просьбой подтверждения перед отправкой страниц или позволяющие отменить отправку страницы.
Добавление клиентского сценария, который обрабатывает событие OnClientClick, серверному веб-элементу управления «Кнопка»
В серверном веб-элементе управления «Кнопка», к которому требуется добавить клиентский сценарий, (Button, LinkButton или ImageButton), присвойте клиентскому сценарию, который требуется запустить, свойство OnClientClick.
Примечание. Если необходимо реализовать возможность отмены отправки, присвойте свойству OnClientClick значение «Return» и укажите имя функции. После этого клиентский сценарий может отменить отправку, возвращая значение false.
В следующем примере кода показано, как добавить элементу управления Button событие щелчка мыши в клиентском сценарии.
<%@ Page Language="VB" %> <script runat="server"> 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" runat="server"> <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 runat="server"> 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" runat="server"> <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>