locked
Comment accéder à un UserControl créé dynamiquement RRS feed

  • Discussion générale

  • Vous pouvez utiliser la méthode FindControl pour obtenir une référence pour le contrôle enfant cible de votre UserControl et l'utiliser ensuite comme tout autre contrôle.

     

    Exemple :

     

    UC.ascx :

    <%@ Control Language="C#" ClassName="UC" %>
    <script runat="server">
    </script>
    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>

     

     

    Page.aspx:

    <%@ Page Language="C#" %>
     
    <%@ Register src="UC.ascx" tagname="UC" tagprefix="uc1" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        protected void btnLoad_Click(object sender, EventArgs e)
        { 
            UC uc = new UC();
            uc.LoadControl("~/uc/UC.ascx");
            uc.ID = "MyUC";
            form1.Controls.Add(uc);
            (form1.FindControl("MyUC").FindControl("txtName") as TextBox).Text = "ASP.NET";
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>User Control Demo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="btnLoad" runat="server" Text="Loading user control ..." 
                onclick="btnLoad_Click" />
        </div>
        </form>
    </body>
    </html>

     

    Pour plusieurs informations sur ASP.NET, consultez  Foire aux Questions - ASP.NET

     

     

     

     
    Alex Petrescu - MSFT
    mardi 30 mars 2010 11:56
    Modérateur