處理使用者控制項事件
撰寫使用者控制項的事件處理方法和撰寫 Web Form 網頁的同樣東西之間有些微差異。然而,請記住,使用者控制項封裝它們自己的事件,並透過包含網頁傳送要被處理的事件資訊。不要包括使用者控制項事件處理常式在包含網頁之內;在使用者控制項的程式碼宣告區塊中,或在產生使用者控制項的程式碼後置的檔案中撰寫它們。如需如何建立 ASP.NET 伺服器控制項的事件處理常式 (Event Handler) 之詳細資訊,請參閱 Web Form 網頁中的伺服器事件處理。
若要在控制項中封裝使用者控制項事件
將程式碼宣告區塊包含在含有您表單事件處理程式碼的使用者控制項之內。
**注意 **您必須包含所有相關的伺服器控制項於使用者控制項本身的使用者控制項事件中,或使用 FindControl 方法找出並存取特定控制項的功能。
下列程式碼,包含於具有 .ascx 副檔名的檔案中,將會在按一下
Button
Web 伺服器控制項時執行。<h3> <u>User Control</u> </h3> <script language="VB" runat=server> Sub EnterBtn_Click(Sender as Object, E as EventArgs) Label1.Text = "Hi " & Name.Text & " welcome to ASP.NET!" End Sub </script> Enter Name: <asp:textbox id="Name" runat=server/> <asp:button Text="Enter" OnClick="EnterBtn_Click" runat=server/> <br><br> <asp:label id="Label1" runat=server/> [C#] <h3> <u>User Control</u> </h3> <script language="C#" runat=server> void EnterBtn_Click(Object Sender, EventArgs E){ Label1.Text = "Hi " + Name.Text + " welcome to ASP.NET!"; } </script> Enter Name: <asp:textbox id="Name" runat=server/> <asp:button Text="Enter" OnClick="EnterBtn_Click" runat=server/> <br><br> <asp:label id="Label1" runat=server/>
在您想要使用者控制項出現其中的 Web Form 網頁上,宣告使用者控制項。
**注意 **這個程序中的程式碼將會與在 Web Form 網頁中包含使用者控制項內的程式碼互動。
請參閱
Web Form 使用者控制項 | 建立使用者控制項 | 在另一個 Web Form 網頁中包含使用者控制項 | Web Form 網頁中的伺服器事件處理 | 處理使用者控制項事件