Freigeben über


HtmlButton.OnServerClick-Methode

Löst das ServerClick-Ereignis aus. Dadurch können Sie einen benutzerdefinierten Handler für das Ereignis bereitstellen.

Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Protected Overridable Sub OnServerClick ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnServerClick(e)
protected virtual void OnServerClick (
    EventArgs e
)
protected:
virtual void OnServerClick (
    EventArgs^ e
)
protected void OnServerClick (
    EventArgs e
)
protected function OnServerClick (
    e : EventArgs
)

Parameter

Hinweise

Das ServerClick-Ereignis wird durch Klicken auf das HtmlButton-Steuerelement ausgelöst. Dieses Ereignis löst eine Schleife vom Client zum Server und zurück aus. Es wird bewusst vom clientseitigen OnClick-Ereignis unterschieden. Wenn zwischen der Ausführung von Code mit einem ServerClick-Ereignis und der Ausführung von Code mit einem clientseitigen OnClick-Ereignis ein Konflikt auftritt, überschreiben die serverseitigen Ereignisanweisungen den Clientcode.

Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Auslösen eines Ereignisses.

Die OnServerClick-Methode ermöglicht es auch abgeleiteten Klassen, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Erben Wenn Sie OnServerClick in einer abgeleiteten Klasse überschreiben, müssen Sie unbedingt die OnServerClick-Methode der Basisklasse aufrufen, sodass registrierte Delegaten das Ereignis empfangen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Ereignishandler für das ServerClick-Ereignis deklarativ angegeben und codiert wird. Bei einem Klick auf das HtmlButton-Steuerelement wird der im Textfeld eingegebene Wert angezeigt.

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

<html>
    <script language="VB" runat=server>
       Sub FancyBtn_Click(Source As Object, E as EventArgs)
          Message.InnerHtml = "Your name is: " & Name.Value
       End Sub
    </script>
  
    <body>
          <form 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>
    
<%@ Page Language="C#" AutoEventWireup="True" %>

<html>
    <script language="C#" runat=server>

      protected void FancyBtn_Click(object sender, EventArgs e)
      {  
        Message.InnerHtml = "Your name is: " + Name.Value; 
      }
      
</script>
  
    <body>
          <form 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="JScript" AutoEventWireup="True" %>

<html>
    <script language="jscript" runat=server>
       function FancyBtn_Click(Source: Object, E: EventArgs){
          Message.InnerHtml = "Your name is: " + Name.Value
       }
    </script>
  
    <body>
          <form 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>
    

Im folgenden Codebeispiel wird veranschaulicht, wie ein Ereignishandler für das ServerClick-Ereignis programmgesteuert angegeben und codiert wird.

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

<html> 

<head>

   <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 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="C#" AutoEventWireup="True" %>

<html> 

<head>

   <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 runat="server">

      <h3> HtmlButton Constructor Example </h3>

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

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

   </form>

</body>
</html>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HtmlButton-Klasse
HtmlButton-Member
System.Web.UI.HtmlControls-Namespace
ServerClick

Weitere Ressourcen

HTML-Serversteuerelemente