Dynamically create non-fixed number of TextBoxes in Composite Control

Discussion in 'ASP .Net Building Controls' started by Paul, Aug 7, 2003.

  1. Paul

    Paul Guest

    Hi,

    I have a composite control(TextBoxControl.cs) in my
    DynamicTextBox.aspx. On the Page_Load of the
    DynamicTextBox.aspx page, I am calling a business tier
    assembly, which is returning an ArrayList containing an
    unknown amount of objects. I would like to pass this
    ArrayList to my composite control and for each object in
    the ArrayList, I would like to build and populate a
    TextBox. The reason I need to pass the data to the
    composite control is because I would like to reuse this
    control on multiple pages in the application.

    Currently, I am able to get the data from the business
    tier assembly directly from the composite control's
    CreateChildControls() method, and create the Textboxes.
    The problem I am having is passing the data from the
    Page_Load event of the parent DynamicTextBox.aspx and
    having the controls show up on the page. The data gets to
    the control's CreateChildControls() event and I watch it
    in Debug go through and create the controls, but when the
    page renders, the controls are not there. What gives? I
    tried passing the data from the DynamicTextBox.aspx
    page's On_Init, but the same result as Page_Load occured.

    Does anyone know why the TextBoxes are not rendering or
    have any insight as to what I am doing wrong?



    Thanks in advance for your time and help,

    Paul
     
    Paul, Aug 7, 2003
    #1
    1. Advertising

  2. "Paul" <> wrote in message
    news:047201c35d36$fc66ab70$...
    > Hi,
    >
    > Does anyone know why the TextBoxes are not rendering or
    > have any insight as to what I am doing wrong?


    Paul, I suggest you read up on creating DataBound controls. "Developing
    Microsoft® ASP.NET Server Controls and Components" from MS Press, by Nikhil
    Kothari and Vandana Datye (http://www.microsoft.com/mspress/books/5728.asp)
    is the best book I've seen on the subject.

    > Thanks in advance for your time and help,


    I've never created a data bound control, but from what I recall reading, you
    don't want to create the controls in CreateChildControls, but rather in
    DataBind. Also, you'll want to be able to recreate the controls from
    ViewState in CreateChildControls. The book above recommends having a common
    control-creation method called both by DataBind and by CreateChildControls -
    they call theirs CreateControlHierarchy, and it takes a bool to tell it
    whether to use the data source or to use ViewState.
    --
    John Saunders
    Internet Engineer
     
    John Saunders, Aug 8, 2003
    #2
    1. Advertising

  3. Paul

    Paul Guest

    Thanks John. I reviewed the book you recommended and
    will order it.

    I am still unclear how to pass data to the control before
    the textboxes are rendered. Unfortunately our deadline
    is such that I can't take the gamble of thinking I can
    figure it out using the book. If I can't find an answer,
    I will have to move to code directly into the page as
    opposed to using a control. Even then I am unsure if
    that will work.

    Thanks for your help. Anyone have any ideas?



    Thanks,

    Paul
     
    Paul, Aug 11, 2003
    #3
  4. Paul

    Paul Guest

    I am unable to do this because the properties don't exist
    at the time CreateChildControls() runs. I set the
    properties during the Page_Load of the parent.

    Is this an example of a time when I would need to use a
    superclassed control? I have never wrote one, but I am
    reading on them now. Still unclear how to resolve this
    issue.

    Thanks,

    Paul
     
    Paul, Aug 14, 2003
    #4
  5. "Paul" <> wrote in message
    news:045401c362b4$adbe48b0$...
    > I am unable to do this because the properties don't exist
    > at the time CreateChildControls() runs. I set the
    > properties during the Page_Load of the parent.
    >
    > Is this an example of a time when I would need to use a
    > superclassed control? I have never wrote one, but I am
    > reading on them now. Still unclear how to resolve this
    > issue.


    Why is CreateChildControls running before Page_Load? That's almost certainly
    wrong.

    I had a control doing something like that due to EnsureChildControls calls
    at the wrong times. Removing them fixed the control.
    --
    John Saunders
    Internet Engineer
     
    John Saunders, Aug 14, 2003
    #5
  6. Paul

    Paul Guest

    Sorry for the confusion, I was referring to Page_Load of
    the parent page which contains the control. If you
    follow through a debug, you can see the path.

    I found a fix!!! I was reading a book from Jeff Prosise
    called "Programming Microsoft .NET" and saw the light.
    On page 338 he explains how to dynamically load controls
    onto the page. I set asp:placeholders on the page where
    I want my control to be rendered, then did this in my
    code behind of the parent page:

    ArrayList myList = PJObject2.GetPJData();
    TestControl myTestControl = (TestControl) LoadControl
    ("TestControl.ascx");
    myTestControl.myList = myList;
    myTestControl.isPJObject2 = true;
    myTestControlPlaceHolder.Controls.Add(myTestControl);

    In the control, TestControl.ascx, I was able to access
    the properties "myList" and "isPJObject2" in
    the "CreateChildControls" method.

    Thanks for the help,

    Paul
     
    Paul, Aug 15, 2003
    #6
    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. sleigh
    Replies:
    1
    Views:
    2,691
    sleigh
    Feb 12, 2004
  2. johnp
    Replies:
    4
    Views:
    3,672
    Toby Inkster
    May 23, 2005
  3. Jonathan Eric Miller
    Replies:
    2
    Views:
    337
    Jonathan Eric Miller
    Jul 22, 2004
  4. Chad
    Replies:
    0
    Views:
    224
  5. Mike

    Composite vs non composite Controls

    Mike, Mar 10, 2005, in forum: ASP .Net Web Controls
    Replies:
    4
    Views:
    265
    Sundararajan
    Mar 11, 2005
Loading...

Share This Page