Access property of parent webform from UC

  • Thread starter Thread starter Ben Amada
  • Start date Start date
B

Ben Amada

Hello,

I have a user control which will be dynamically loaded from one of two
parent ASPX webforms. Within the user control I'd like to be able to access
a property from the parent webform. One problem I'm having is that I don't
know the type of the parent webform until run-time. Is this possible? And
if so, how can I do this?

Thank you,
Ben
 
Hi,

Try this:

if (UserControl.Parent is <desired page-class name>)
{
//type cast Parent property and access the public property
}

Hello,

I have a user control which will be dynamically loaded from one of two
parent ASPX webforms. Within the user control I'd like to be able to access
a property from the parent webform. One problem I'm having is that I don't
know the type of the parent webform until run-time. Is this possible? And
if so, how can I do this?

Thank you,
Ben
 
Siva said:
Hi,

Try this:

if (UserControl.Parent is <desired page-class name>)
{
//type cast Parent property and access the public property
}

Hi Siva,

Thank you for the good idea. I'm getting a couple of errors however while
trying to implement your idea in VB. Here's my code:

If Me.Parent Is WebForm6 Then
CType(Me.Parent, WebForm6).TestProp = "test"
End If

First error: The VS IDE is complaining about WebForm6 during design time.
It says:
"WebForm6 is a type and cannot be used as an expression."

Second error: If I eliminate the If-EndIf so I just have CType(...), then
during run-time, I get the following error:
"System.InvalidCastException: Specified cast is not valid."

WebForm6 is the parent ASPX page of this usercontrol, so I don't see why I'm
getting these errors.

Do you (or anyone else) have any idea what I'm doing wrong?

Thanks!
Ben
 
Ben,

Try it this way:

If TypeOf Me.Page Is WebForm6 Then
CType (Me.Page, WebForm6).TestProp = "text"
End If

One correction: It is Me.Page, not Me.Parent. Sorry about it.

Siva said:
Hi,

Try this:

if (UserControl.Parent is <desired page-class name>)
{
//type cast Parent property and access the public property
}

Hi Siva,

Thank you for the good idea. I'm getting a couple of errors however while
trying to implement your idea in VB. Here's my code:

If Me.Parent Is WebForm6 Then
CType(Me.Parent, WebForm6).TestProp = "test"
End If

First error: The VS IDE is complaining about WebForm6 during design time.
It says:
"WebForm6 is a type and cannot be used as an expression."

Second error: If I eliminate the If-EndIf so I just have CType(...), then
during run-time, I get the following error:
"System.InvalidCastException: Specified cast is not valid."

WebForm6 is the parent ASPX page of this usercontrol, so I don't see why I'm
getting these errors.

Do you (or anyone else) have any idea what I'm doing wrong?

Thanks!
Ben
 
Siva said:
Ben,

Try it this way:

If TypeOf Me.Page Is WebForm6 Then
CType (Me.Page, WebForm6).TestProp = "text"
End If

One correction: It is Me.Page, not Me.Parent. Sorry about it.

Works great .. thanks again!

Ben
 
Back
Top