HtmlButton.OnServerClick Method (EventArgs)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Raises the ServerClick event. This allows you to provide a custom handler for the event.

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

protected virtual void OnServerClick(
	EventArgs e
)

Parameters

e
Type: System.EventArgs

A System.EventArgs that contains the event data.

The ServerClick event is raised when the HtmlButton control is clicked. This event causes a round trip to occur from the client to the server and back. It is deliberately different from the client-side OnClick event. If a conflict exists between code run with a ServerClick event and code run by a client-side OnClick event, the server-side event instructions will override the client-side code.

Raising an event invokes the event handler through a delegate. For more information, see NIB: Raising an Event.

The OnServerClick method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

Notes to Inheritors:

When overriding OnServerClick in a derived class, be sure to call the base class's OnServerClick method so that registered delegates receive the event.

The following code example demonstrates how to declaratively specify and code an event handler for the ServerClick event. When the HtmlButton control is clicked, the value entered in the text box is displayed.

<%@ 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>

The following code example demonstrates how to programmatically specify and code an event handler for the ServerClick event.


<%@ 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>

.NET Framework
Available since 1.1
Return to top
Show: