HtmlButton.OnServerClick(EventArgs) 方法

定義

引發 ServerClick 事件。 這讓你能為活動提供自訂的處理器。

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)

參數

e
EventArgs

EventArgs A 包含事件資料。

範例

以下程式碼範例示範如何宣告式指定並編寫事件處理程序。ServerClick 當按下控制項時 HtmlButton ,文字框中輸入的數值會顯示出來。

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

以下程式碼範例示範如何程式化地指定並編碼事件處理程序。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>

備註

當按下控制鍵時ServerClick,事件HtmlButton會被觸發。 此事件會造成用戶端與伺服器之間的往返。 它刻意與客戶端 OnClick 事件不同。 若執行事件 ServerClick 的程式碼與由客戶端 OnClick 事件執行的程式碼衝突,伺服器端事件指令將覆蓋用戶端程式碼。

發起事件會透過代理呼叫事件處理者。 欲了解更多資訊,請參閱 處理與提升事件

OnServerClick 方法也允許衍生類別在不附加代理的情況下處理事件。 這是在衍生類別中處理事件的首選技術。

給繼承者的注意事項

在導出類別中覆寫 OnServerClick(EventArgs) 時,務必呼叫基底類別的方法 OnServerClick(EventArgs) ,讓註冊代理接收事件。

適用於

另請參閱