UserControls + AJAX 使用方法 (從 Parent Page 內 Call UserControls 既 Object)

 
ASP.NET 既 UserControls – 近似 PHP 既 Include / Require 既功能,
不過 PHP – Include / Require (Web 插件 / Parent Page) 上既 Variable 可以用同一個名 重複互相 Assign.
(個人意見Only: 其實睇得清楚就好方便, 唔小心用既就好易做錯事)
 

   Default.aspx
 
   <form id="Form1" runat="server">
      <asp:ScriptManager ID="ScriptManager1" runat="server" />
      <div>
      <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
      <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
      <asp:Label ID="Label1" runat="server" Text="" />
      </ContentTemplate>
      </asp:UpdatePanel>
      </div>
   </form>
 

 

   Default.aspx.vb
 
   Partial Public Class _Default
 
      Inherits System.Web.UI.Page
 
      Dim ABC As Control = LoadControl("WebUserControl1.ascx")
 
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
         PlaceHolder1.Controls.Add(ABC)
 
         Dim GetControl As Control = ABC.FindControl("Textbox1")
         Dim Child_Textbox As TextBox = TryCast(GetControl, TextBox)
 
         AddHandler Child_Textbox.TextChanged, AddressOf Child_Btn_Press
 
      End Sub
 
      Sub Child_Btn_Press(ByVal sender As Object, ByVal e As System.EventArgs)
 
         Dim GetControl As Control = ABC.FindControl("Textbox1")
         Dim Child_Textbox As TextBox = TryCast(GetControl, TextBox)
         Label1.Text = Child_Textbox.Text.ToString.Trim
 
      End Sub
 
   End Class
 

 

   WebUserControl1.ascx
 
   …
   
   <asp:TextBox ID="TextBox1" runat="server" />
   <asp:Button ID="Button1" runat="server" Text="Button" />