Home All Groups Group Topic Archive Search About
Author
22 Mar 2006 1:40 PM
karthick
I am using the following layout for my pages.

<asp:content>
<asp:Wizard>
</asp:Wizard>
<HeaderTemplate>
<asp:WebPartZone>
<ZoneTemplate>
<asp:gridview />
</ZoneTemplate>
</asp:WebPartZone>

</HeaderTemplate>

<WizardSteps>
<%-- Method1 -->
<asp:WizardStep>
<asp:WebPartZone>
<ZoneTemplate>
<UC:usercontrol />
</ZoneTemplate>
</asp:WebPartZone>
</asp:WizardStep>

<%-- Method2 -->
<asp:WizardStep>
<asp:WebPartZone>
<ZoneTemplate>
<asp:panel>
-- All the controls in the user control go here directly
</asp:panel>
</ZoneTemplate>
</asp:WebPartZone>
</asp:WizardStep>
</WizardSteps>
</asp:content>

I have the above design in one of my pages.
I need to get/set values, properties for my controls inside the
webpartzone.

Problem1: accessing the controls inside the webpartzones is pain in the
neck.

problem2: if i try to use a generic findcontrol and pass the
wizard.controlscollection, webpartzone does not have the same behaviour
for HasControls property. so i have to go into the zone.webparts
collection and iterate under each webpart to get to my control.
this will be a killer as far as performance is concerned.

I am trying to make full use of web parts. Is there a easier way to
"find" controls in wizard and in webpartZones? (both method1 and
method2). Can webPartZones be used this way?

any comments and suggestions for this approach are welcome. thanks!

Author
26 Mar 2006 10:44 PM
DWS
karthick,
Override the wizzard find control method.
    Public Overrides Function FindControl(ByVal id As String) As
System.Web.UI.Control
        If id = "DWSwz" Then
            Return zone
        Else
            Return MyBase.FindControl(id)
        End If
    End Function

Good Luck
DWS


Show quoteHide quote
"karthick" wrote:

>  I am using the following layout for my pages.
>
> <asp:content>
> <asp:Wizard>
> </asp:Wizard>
> <HeaderTemplate>
> <asp:WebPartZone>
> <ZoneTemplate>
> <asp:gridview />
> </ZoneTemplate>
> </asp:WebPartZone>
>
> </HeaderTemplate>
>
> <WizardSteps>
> <%-- Method1 -->
> <asp:WizardStep>
> <asp:WebPartZone>
> <ZoneTemplate>
> <UC:usercontrol />
> </ZoneTemplate>
> </asp:WebPartZone>
> </asp:WizardStep>
>
> <%-- Method2 -->
> <asp:WizardStep>
> <asp:WebPartZone>
> <ZoneTemplate>
> <asp:panel>
> -- All the controls in the user control go here directly
> </asp:panel>
> </ZoneTemplate>
> </asp:WebPartZone>
> </asp:WizardStep>
> </WizardSteps>
> </asp:content>
>
> I have the above design in one of my pages.
> I need to get/set values, properties for my controls inside the
> webpartzone.
>
> Problem1: accessing the controls inside the webpartzones is pain in the
> neck.
>
> problem2: if i try to use a generic findcontrol and pass the
> wizard.controlscollection, webpartzone does not have the same behaviour
> for HasControls property. so i have to go into the zone.webparts
> collection and iterate under each webpart to get to my control.
> this will be a killer as far as performance is concerned.
>
> I am trying to make full use of web parts. Is there a easier way to
> "find" controls in wizard and in webpartZones? (both method1 and
> method2). Can webPartZones be used this way?
>
> any comments and suggestions for this approach are welcome. thanks!
>
>
Author
6 Apr 2006 8:49 PM
karthick
thanks for the reply. i will try that for sure. one thing that nagging
my mind is that using any form of recursion or looping to find a
control is gonna hit performance. just a thought.