共用方式為


HOW TO:使用 Web Form 應用程式中的事件

更新:2007 年 11 月

Web Form 應用程式中的常見使用情況是使用控制項填入 Web 網頁,然後根據使用者所按的控制項,執行特定動作。例如,當使用者在 Web 網頁中按一下 System.Web.UI.WebControls.Button 控制項時,會引發事件。應用程式可以透過處理該事件,針對按一下按鈕的動作執行適當的應用程式邏輯。

如需 Web Form 程式撰寫模型 (Programming Model) 的詳細資訊,請參閱 Web Form 的程式設計

若要處理 Web 網頁上的按一下按鈕事件

  1. 建立有 Button 控制項的 Web Form 網頁 (ASP.NET 網頁)。

    <asp:Button id = "Button" Text = "Click Me" runat = server/>
    
  2. 定義比對 Click 事件委派簽章的事件處理常式。Click 事件使用 EventHandler 類別做為委派型別,且用 EventArgs 類別做為事件資料。

    void Button_Click(object sender, EventArgs e)
    {...}
    
    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Button 項目中的 OnClick 屬性設為事件處理常式方法。

    <asp:Button
            id = "Button" OnClick = "Button_Click" Text = "Click Me" 
            runat = server/>
    
    注意事項:

    Web Form 應用程式開發人員能以宣告方式架設 (Wire) 事件,不需直接使用委派。ASP.NET 網頁架構會產生程式碼,該程式碼會建立參考 Button_Click 的 EventHandler 執行個體,並將此委派執行個體加入至 Button 執行個體的 Click 事件。

範例

以下 Web Form 網頁會處理 ButtonClick 事件以變更 TextBox 的背景色彩。這個範例中以粗體表示的項目是顯示事件處理常式程式碼,以及事件處理常式如何連接到 ButtonClick 事件。

安全性注意事項:

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。如需詳細資訊,請參閱指令碼攻擊概觀

 [C#]
<html>
   <script language="C#" runat=server> 
      private void Button_Click(object sender, EventArgs e){         Box.BackColor = System.Drawing.Color.LightGreen;      }
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>
<html>
   <script language="VB" runat=server> 
      Private Sub Button_Click(sender As Object, e As EventArgs)         Box.BackColor = System.Drawing.Color.LightGreen
      End Sub
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>

編譯程式碼

若要查看事件處理在 Web Form 中運作的方法,請將範例網頁以 .aspx 副檔名 (表示該檔為 ASP.NET 網頁) 儲存,並將其部署於 IIS 虛擬根目錄 (Virtual Root) 中的任何位置。

請參閱

概念

事件和委派

使用事件

引發事件

其他資源

處理和引發事件