By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,028 Members | 1,869 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,028 IT Pros & Developers. It's quick & easy.

Problem accessing control from inside other control

P: n/a
I have a validator that I wrote by inheriting from BaseValidator. At certain
points in the code, I need to access other controls on the page containing
the validator. I have the IDs of these controls, so I use the following
statement to access them:

Me.Page.FindControl(ControlID)

However, this is returning Nothing, even though the control can be accessed
in the Load event of the Page containing the control and the validator. I
also want to mention that the Page uses a Master Page, and the control and
validator are declared in the Page, not the Master Page. I am not sure if
this makes a difference or not. Can someone tell me what I am doing wrong?
Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/
Jan 3 '08 #1
Share this Question
Share on Google+
3 Replies


P: n/a
On Jan 3, 9:19 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a validator that I wrote by inheriting from BaseValidator. At certain
points in the code, I need to access other controls on the page containing
the validator. I have the IDs of these controls, so I use the following
statement to access them:

Me.Page.FindControl(ControlID)

However, this is returning Nothing, even though the control can be accessed
in the Load event of the Page containing the control and the validator. I
also want to mention that the Page uses a Master Page, and the control and
validator are declared in the Page, not the Master Page. I am not sure if
this makes a difference or not. Can someone tell me what I am doing wrong?
Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/
Can you please give more details on where u want to access and where u
are already able to access the controls as in the server side or the
client side?

If u are able to access the controls on the server side and have
trouble accessing them from the client side, then the solution is
pretty simple. By default the client IDs of the server controls get
pre-pended with specific values (I've generally observed the value
"CT001_" or something similar). Just run the page and view the html
source to see the client id of the controls in the client scripts. U
can also get the client id of the controls using a property on the
server side.

Hope this helps

Regards, Dina
Jan 3 '08 #2

P: n/a
As I mentioned in my original post, I am able to access the control in the
Load event of the Page. The place where I want to and am not able to access
it is in the EvaluateIsValid() function of my validator. In the
EvaluateIsValid() function I am attempting to access it using the following:

Me.Page.FindControl(ControlID)

Because the Load event of the Page occurs before the EvaluateIsValid()
function is called, this shows that the control does exist in the page when
I try to access it. Is there something else I need to do when accessing the
control from inside EvaluateIsValid()? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Dina" <di*********@gmail.comwrote in message
news:71**********************************@i29g2000 prf.googlegroups.com...
On Jan 3, 9:19 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
>I have a validator that I wrote by inheriting from BaseValidator. At
certain
points in the code, I need to access other controls on the page
containing
the validator. I have the IDs of these controls, so I use the following
statement to access them:

Me.Page.FindControl(ControlID)

However, this is returning Nothing, even though the control can be
accessed
in the Load event of the Page containing the control and the validator. I
also want to mention that the Page uses a Master Page, and the control
and
validator are declared in the Page, not the Master Page. I am not sure if
this makes a difference or not. Can someone tell me what I am doing
wrong?
Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Can you please give more details on where u want to access and where u
are already able to access the controls as in the server side or the
client side?

If u are able to access the controls on the server side and have
trouble accessing them from the client side, then the solution is
pretty simple. By default the client IDs of the server controls get
pre-pended with specific values (I've generally observed the value
"CT001_" or something similar). Just run the page and view the html
source to see the client id of the controls in the client scripts. U
can also get the client id of the controls using a property on the
server side.

Hope this helps

Regards, Dina

Jan 3 '08 #3

P: n/a
On Jan 3, 10:42 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
As I mentioned in my original post, I am able to access the control in the
Load event of the Page. The place where I want to and am not able to access
it is in the EvaluateIsValid() function of my validator. In the
EvaluateIsValid() function I am attempting to access it using the following:

Me.Page.FindControl(ControlID)

Because the Load event of the Page occurs before the EvaluateIsValid()
function is called, this shows that the control does exist in the page when
I try to access it. Is there something else I need to do when accessing the
control from inside EvaluateIsValid()? Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

"Dina" <dina.mrc...@gmail.comwrote in message

news:71**********************************@i29g2000 prf.googlegroups.com...
On Jan 3, 9:19 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a validator that I wrote by inheriting from BaseValidator. At
certain
points in the code, I need to access other controls on the page
containing
the validator. I have the IDs of these controls, so I use the following
statement to access them:
Me.Page.FindControl(ControlID)
However, this is returning Nothing, even though the control can be
accessed
in the Load event of the Page containing the control and the validator. I
also want to mention that the Page uses a Master Page, and the control
and
validator are declared in the Page, not the Master Page. I am not sure if
this makes a difference or not. Can someone tell me what I am doing
wrong?
Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/
Can you please give more details on where u want to access and where u
are already able to access the controls as in the server side or the
client side?
If u are able to access the controls on the server side and have
trouble accessing them from the client side, then the solution is
pretty simple. By default the client IDs of the server controls get
pre-pended with specific values (I've generally observed the value
"CT001_" or something similar). Just run the page and view the html
source to see the client id of the controls in the client scripts. U
can also get the client id of the controls using a property on the
server side.
Hope this helps
Regards, Dina
Did u find the control's client ID by looking into the HTML source
generated at the browser? Use that ID in the FindControl function.

Regards, Dina
Jan 10 '08 #4

This discussion thread is closed

Replies have been disabled for this discussion.