HOW TO:使用 Web Form 應用程式中的事件
更新:2007 年 11 月
Web Form 應用程式中的常見使用情況是使用控制項填入 Web 網頁,然後根據使用者所按的控制項,執行特定動作。例如,當使用者在 Web 網頁中按一下 System.Web.UI.WebControls.Button 控制項時,會引發事件。應用程式可以透過處理該事件,針對按一下按鈕的動作執行適當的應用程式邏輯。
如需 Web Form 程式撰寫模型 (Programming Model) 的詳細資訊,請參閱 Web Form 的程式設計。
若要處理 Web 網頁上的按一下按鈕事件
建立有 Button 控制項的 Web Form 網頁 (ASP.NET 網頁)。
<asp:Button id = "Button" Text = "Click Me" runat = server/>
定義比對 Click 事件委派簽章的事件處理常式。Click 事件使用 EventHandler 類別做為委派型別,且用 EventArgs 類別做為事件資料。
void Button_Click(object sender, EventArgs e) {...}
Sub Button_Click(sender As Object, e As EventArgs) ... End Sub
將 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 網頁會處理 Button 的 Click 事件以變更 TextBox 的背景色彩。這個範例中以粗體表示的項目是顯示事件處理常式程式碼,以及事件處理常式如何連接到 Button 的 Click 事件。
安全性注意事項: |
---|
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。根據預設,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) 中的任何位置。