FindControl

Discussion in 'ASP .Net' started by Ravikanth[MVP], Jul 18, 2003.

  1. Hi

    FindControl method is to locate a control with an ID
    property of <<Control>> on the containing page.

    Check ChannelPanelId after adding the Display Panel.

    HTH
    Ravikanth


    >-----Original Message-----
    >I know I am doing or understanding something wrong. This
    >is a code snipet from a server control that accesses the
    >MCMS channel structure to build a dynamic cascading menu
    >system. While this is not the actual code (too

    extensive)
    >it performs the key function and provides the same
    >unsatisfactory results:
    >
    >Channel current = CurrentContext.Channel;
    >Panel Display = new Panel();
    >
    >foreach(Channel subchannel in current.Channels)
    >{
    > Panel channelPanel = new Panel();
    > channelPanel.ID = subchannel.Name;
    > Display.Controls.Add(channelPanel)
    >}
    >
    >string chName = current.Channels[0].Name;
    >Panel foundPanel = Display.FindControl(chName);
    >
    >It seems that since there are 3 subchannels to current,
    >foundPanel should return the first Panel added in the
    >foreach loop. It doesn't. It returns null. Why?
    >
    >Thanks.
    >.
    >
     
    Ravikanth[MVP], Jul 18, 2003
    #1
    1. Advertising

  2. Ravikanth[MVP]

    Tim Pacl Guest

    Is there no way of finding the embedded panel prior to
    rendering?

    >-----Original Message-----
    >Hi
    >
    >FindControl method is to locate a control with an ID
    >property of <<Control>> on the containing page.
    >
    >Check ChannelPanelId after adding the Display Panel.
    >
    >HTH
    >Ravikanth
    >
    >
    >>-----Original Message-----
    >>I know I am doing or understanding something wrong.

    This
    >>is a code snipet from a server control that accesses

    the
    >>MCMS channel structure to build a dynamic cascading

    menu
    >>system. While this is not the actual code (too

    >extensive)
    >>it performs the key function and provides the same
    >>unsatisfactory results:
    >>
    >>Channel current = CurrentContext.Channel;
    >>Panel Display = new Panel();
    >>
    >>foreach(Channel subchannel in current.Channels)
    >>{
    >> Panel channelPanel = new Panel();
    >> channelPanel.ID = subchannel.Name;
    >> Display.Controls.Add(channelPanel)
    >>}
    >>
    >>string chName = current.Channels[0].Name;
    >>Panel foundPanel = Display.FindControl(chName);
    >>
    >>It seems that since there are 3 subchannels to current,
    >>foundPanel should return the first Panel added in the
    >>foreach loop. It doesn't. It returns null. Why?
    >>
    >>Thanks.
    >>.
    >>

    >.
    >
     
    Tim Pacl, Jul 18, 2003
    #2
    1. Advertising

  3. Hello Tim,

    I moved the following codes into page_load and the pane could be found now.

    Display = new Panel();
    this.Controls.Add(Display);
    String[] ids = new String[3];
    ids[0] = "panel1";
    ids[1] = "panel2";
    ids[2] = "panel3";

    foreach(Channel subchannel in current.Channels)
    {
    Panel channelPanel = new Panel();
    channelPanel.ID = subchannel.Name;
    Display.Controls.Add(channelPanel)
    }

    Also, I defined Dispaly as a global varialbe as other controls.

    Please test it and let me know whether it is what you needed.

    Best regards,
    Yanhong Huang
    Microsoft Online Partner Support

    Get Secure! - www.microsoft.com/security
    This posting is provided "AS IS" with no warranties, and confers no rights.

    --------------------
    !Content-Class: urn:content-classes:message
    !From: "Tim Pacl" <>
    !Sender: "Tim Pacl" <>
    !References: <0a2a01c34d28$cc711720$> <067c01c34d2b$a4e724d0$>
    !Subject: FindControl
    !Date: Fri, 18 Jul 2003 06:05:43 -0700
    !Lines: 49
    !Message-ID: <0a8901c34d2d$4b94dce0$>
    !MIME-Version: 1.0
    !Content-Type: text/plain;
    ! charset="iso-8859-1"
    !Content-Transfer-Encoding: 7bit
    !X-Newsreader: Microsoft CDO for Windows 2000
    !X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
    !Thread-Index: AcNNLUuU99knTW0oSzKU98ENrW0k+w==
    !Newsgroups: microsoft.public.dotnet.framework.aspnet
    !Path: cpmsftngxa06.phx.gbl
    !Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:160247
    !NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
    !X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
    !
    !Is there no way of finding the embedded panel prior to
    !rendering?
    !
    !>-----Original Message-----
    !>Hi
    !>
    !>FindControl method is to locate a control with an ID
    !>property of <<Control>> on the containing page.
    !>
    !>Check ChannelPanelId after adding the Display Panel.
    !>
    !>HTH
    !>Ravikanth
    !>
    !>
    !>>-----Original Message-----
    !>>I know I am doing or understanding something wrong.
    !This
    !>>is a code snipet from a server control that accesses
    !the
    !>>MCMS channel structure to build a dynamic cascading
    !menu
    !>>system. While this is not the actual code (too
    !>extensive)
    !>>it performs the key function and provides the same
    !>>unsatisfactory results:
    !>>
    !>>Channel current = CurrentContext.Channel;
    !>>Panel Display = new Panel();
    !>>
    !>>foreach(Channel subchannel in current.Channels)
    !>>{
    !>> Panel channelPanel = new Panel();
    !>> channelPanel.ID = subchannel.Name;
    !>> Display.Controls.Add(channelPanel)
    !>>}
    !>>
    !>>string chName = current.Channels[0].Name;
    !>>Panel foundPanel = Display.FindControl(chName);
    !>>
    !>>It seems that since there are 3 subchannels to current,
    !>>foundPanel should return the first Panel added in the
    !>>foreach loop. It doesn't. It returns null. Why?
    !>>
    !>>Thanks.
    !>>.
    !>>
    !>.
    !>
    !
     
    Yan-Hong Huang[MSFT], Jul 22, 2003
    #3
    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. George Durzi

    OnEditCommand - .FindControl Returning Null

    George Durzi, Jul 14, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    499
    George Durzi
    Jul 14, 2003
  2. James G. Beldock
    Replies:
    1
    Views:
    9,371
    Kevin Spencer
    Aug 7, 2003
  3. Ivan Demkovitch
    Replies:
    1
    Views:
    837
    Ivan Demkovitch
    Oct 7, 2003
  4. ani

    FindControl method doesn't work

    ani, Nov 5, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    380
  5. Sid
    Replies:
    4
    Views:
    602
Loading...

Share This Page