FindControl

R

Ravikanth[MVP]

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
 
T

Tim Pacl

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.
.
.
 
Y

Yan-Hong Huang[MSFT]

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" <[email protected]>
!Sender: "Tim Pacl" <[email protected]>
!References: <[email protected]> <[email protected]>
!Subject: FindControl
!Date: Fri, 18 Jul 2003 06:05:43 -0700
!Lines: 49
!Message-ID: <[email protected]>
!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.
!>>.
!>>
!>.
!>
!
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top