Passing Parameters to User Controls that are Dynamically Loaded in Placeholders

Discussion in 'ASP .Net' started by Josh, May 26, 2004.

  1. Josh

    Josh Guest

    Hi Guys,

    I have been having a big problem with trying to pass parameters into a
    user control when the user control is dynamically loaded into a
    placholder. I am developing in c#. I have get and set methods on the
    user control "editButton.ascx" which work fine.

    How do i pass parameter into the user controls "c1", "c2" ?

    Here is a bit of my code that is calling the user control from the
    aspx page.
    public void setupTemplate(string PID)
    {
    //load control into a placeholder
    UserControl c1 = (UserControl) LoadControl
    System.Configuration.ConfigurationSettings.AppSettings["virtualPath"]
    + "editButton.ascx");
    UserControl c2 = (UserControl)
    LoadControl(System.Configuration.ConfigurationSettings.AppSettings["virtualP
    ath"]
    + "editButton.ascx");

    //PLACEHOLDER 1
    PlaceHolder phPlaceHolder =
    (PlaceHolder)this.FindControl("Form1").FindControl("PlaceHolder1");
    phPlaceHolder.Controls.Clear();
    phPlaceHolder.Controls.Add(c1);
    //PLACEHOLDER 2
    PlaceHolder phPlaceHolder2 =
    (PlaceHolder)this.FindControl("Form1").FindControl("PlaceHolder2");
    phPlaceHolder2.Controls.Clear();
    phPlaceHolder2.Controls.Add(c2);
    }

    Any help would be greatly appreciated.

    Thanks, Josh
    Josh, May 26, 2004
    #1
    1. Advertising

  2. Josh,
    There are plenty of ways to do this.
    1. The user control has access to the Form and Querystring collections.
    2. The user control has access to the HttpContext.Current.Items collection.
    3. You can make a base class for your dynamic user controls and make public
    properties. Then you can declare the dynamic control as MyUserControl
    instead of UserControl and set the properties after LoadControl().

    A dynamically loaded user control is still a user control, so getting
    information to it is the same.

    For a practical example of a dynamically-loaded user control, you can check
    out my EZWeb workspace on GotDotNet.com. I implement a "Master Pages"
    feature with v1.1 by make templates using UserControls and dynamically
    loading them. Then code in the user controls gets information (or the
    parameters you speak of): http://workspaces.gotdotnet.com/ezweb.

    Regards,
    Jeffrey Palermo


    "Josh" <> wrote in message
    news:%...
    > Hi Guys,
    >
    > I have been having a big problem with trying to pass parameters into a
    > user control when the user control is dynamically loaded into a
    > placholder. I am developing in c#. I have get and set methods on the
    > user control "editButton.ascx" which work fine.
    >
    > How do i pass parameter into the user controls "c1", "c2" ?
    >
    > Here is a bit of my code that is calling the user control from the
    > aspx page.
    > public void setupTemplate(string PID)
    > {
    > //load control into a placeholder
    > UserControl c1 = (UserControl) LoadControl
    > System.Configuration.ConfigurationSettings.AppSettings["virtualPath"]
    > + "editButton.ascx");
    > UserControl c2 = (UserControl)
    >

    LoadControl(System.Configuration.ConfigurationSettings.AppSettings["virtualP
    > ath"]
    > + "editButton.ascx");
    >
    > //PLACEHOLDER 1
    > PlaceHolder phPlaceHolder =
    > (PlaceHolder)this.FindControl("Form1").FindControl("PlaceHolder1");
    > phPlaceHolder.Controls.Clear();
    > phPlaceHolder.Controls.Add(c1);
    > //PLACEHOLDER 2
    > PlaceHolder phPlaceHolder2 =
    > (PlaceHolder)this.FindControl("Form1").FindControl("PlaceHolder2");
    > phPlaceHolder2.Controls.Clear();
    > phPlaceHolder2.Controls.Add(c2);
    > }
    >
    > Any help would be greatly appreciated.
    >
    > Thanks, Josh
    >
    >
    Jeffrey Palermo [MCP], May 26, 2004
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Sinisa Ruzin
    Replies:
    0
    Views:
    853
    Sinisa Ruzin
    Oct 7, 2004
  2. Replies:
    3
    Views:
    4,028
  3. JB McMichael
    Replies:
    0
    Views:
    374
    JB McMichael
    Jul 26, 2005
  4. Josh
    Replies:
    1
    Views:
    188
  5. Josh
    Replies:
    1
    Views:
    234
Loading...

Share This Page