HtmlButton.OnServerClick(EventArgs) Metodo

Definizione

Genera l'evento ServerClick. In tal modo è possibile fornire un gestore personalizzato per l'evento.

protected:
 virtual void OnServerClick(EventArgs ^ e);
protected virtual void OnServerClick (EventArgs e);
abstract member OnServerClick : EventArgs -> unit
override this.OnServerClick : EventArgs -> unit
Protected Overridable Sub OnServerClick (e As EventArgs)

Parametri

e
EventArgs

Oggetto EventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato come specificare in modo dichiarativo e codificare un gestore eventi per l'evento ServerClick . Quando si fa clic sul controllo, viene visualizzato il HtmlButton valore immesso nella casella di testo.

<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <script language="C#" runat="server">

      protected void FancyBtn_Click(object sender, EventArgs e)
      {  
        Message.InnerHtml = "Your name is: " + Name.Value; 
      }
      
</script>
  
    <head runat="server">
    <title> Enter Name: </title>
</head>
<body>
          <form id="form1" method="post" runat="server">
  
            <h3> Enter Name: <input id="Name" type="text" size="40" runat="server" />
            </h3>
  
             <button onserverclick=" FancyBtn_Click" runat="server" id="BUTTON1">
               <b><i> I'm a fancy HTML 4.0 button </i> </b> 
             </button>
  
                       
           <h1>
             <span id="Message" runat="server"></span>
           </h1>
  
          </form>
       </body>
 </html>
<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <script language="VB" runat="server">
       Sub FancyBtn_Click(Source As Object, E as EventArgs)
          Message.InnerHtml = "Your name is: " & Name.Value
       End Sub
    </script>
  
    <head runat="server">
    <title> Enter Name: </title>
</head>
<body>
          <form id="form1" method="post" runat="server">
  
            <h3> Enter Name: <input id="Name" type="text" size="40" runat="server" />
            </h3>
  
             <button onserverclick=" FancyBtn_Click" runat="server">
               <b><i> I'm a fancy HTML 4.0 button </i> </b> 
             </button>
  
                       
           <h1>
             <span id="Message" runat="server"></span>
           </h1>
  
          </form>
       </body>
 </html>

Nell'esempio di codice seguente viene illustrato come specificare e codice a livello di codice un gestore eventi per l'evento ServerClick .


<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > 

<head>
    <title> HtmlButton Constructor Example </title>
<script runat="server">

      void Page_Load(Object sender, EventArgs e)
      {

         // Create a new HtmlButton control.
         HtmlButton NewButtonControl = new HtmlButton();

         // Set the properties of the new HtmlButton control.
         NewButtonControl.ID = "NewButtonControl";
         NewButtonControl.InnerHtml = "Click Me";

         // Create an EventHandler delegate for the method you want to handle the event
         // and then add it to the list of methods called when the event is raised.
         NewButtonControl.ServerClick += new System.EventHandler(this.Button_Click); 

         // Add the new HtmlButton control to the Controls collection of the
         // PlaceHolder control. 
         ControlContainer.Controls.Add(NewButtonControl);

      }

      void Button_Click(Object sender, EventArgs e)
      {

         // Display a simple message. 
         Message.InnerHtml = "Thank you for clicking the button.";

      }

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> HtmlButton Constructor Example </h3>

      <asp:PlaceHolder ID="ControlContainer"
           runat="server"/>

      <br /><br />
 
      <span id="Message"
            runat="server"/>

   </form>

</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > 

<head>
    <title> HtmlButton Constructor Example </title>
<script runat="server">

      Sub Page_Load(sender As Object, e As EventArgs)

         ' Create a new HtmlButton control.
         Dim NewButtonControl As New HtmlButton()

         ' Set the properties of the new HtmlButton control.
         NewButtonControl.ID = "NewButtonControl"
         NewButtonControl.InnerHtml = "Click Me"

         ' Create an EventHandler delegate for the method you want to handle the event
         ' and then add it to the list of methods called when the event is raised.
         AddHandler NewButtonControl.ServerClick, AddressOf Button_Click 

         ' Add the new HtmlButton control to the Controls collection of the
         ' PlaceHolder control. 
         ControlContainer.Controls.Add(NewButtonControl)

      End Sub

      Sub Button_Click(sender As Object, e As EventArgs)

         ' Display a simple message. 
         Message.InnerHtml = "Thank you for clicking the button."

      End Sub

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> HtmlButton Constructor Example </h3>

      <asp:PlaceHolder ID="ControlContainer"
           runat="server"/>

      <br /><br />
 
      <span id="Message"
            runat="server"/>

   </form>

</body>
</html>

Commenti

L'evento ServerClick viene generato quando viene fatto clic sul HtmlButton controllo. Questo evento causa l'esecuzione di un round trip dal client al server e indietro. È deliberatamente diverso dall'evento lato OnClick client. Se esiste un conflitto tra l'esecuzione del codice con un evento e il codice eseguiti da un ServerClick evento lato OnClick client, le istruzioni sugli eventi lato server eseguiranno l'override del codice lato client.

Quando viene generato un evento, il gestore dell'evento viene richiamato tramite un delegato. Per altre informazioni, vedere la gestione e generazione di eventi.

Il metodo OnServerClick consente inoltre alle classi derivate di gestire l'evento senza associare un delegato. È la tecnica consigliata per la gestione dell'evento in una classe derivata.

Note per gli eredi

Quando si esegue l'override di OnServerClick(EventArgs) in una classe derivata, verificare di chiamare il metodo OnServerClick(EventArgs) della classe di base in modo che i delegati registrati ricevano l'evento.

Si applica a

Vedi anche