Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Having trouble with FindControl

Posted on 2010-11-16
4
Medium Priority
?
426 Views
Last Modified: 2012-05-10
I have an application where I need to perform operations on various controls throughout the page based on my repeater data.  I need to populate Label Text, set Visible to true/false, etc.

The basic structure (framework) of my page is as such:

Repeater 1
>> Label 1
>> Literal 1

>> Nested Repeater
>> >> Label 2
>> >> Hyperlink 2

>> >> >> Nested Nested Repeater
>> >> >> Hyperlink 3
>> >> >>  END nested Repeater

>> END nested Repeater

END Repeater1

I am having an impossible time knowing
(1) When to check for the control (i.e. what can I do during Page_Load, or DataBind, etc), and
(2) the syntax of the control  (i.e.  (Label)Page.FindControl("controName");   OR  (Label)This.FindControl("controlName")  OR (Label)e.Item.FindControl("controlName")

The error I keep getting is "Object reference not set to an instance of an object"

Can anyone clear this up for me?
0
Comment
Question by:vcbertini
4 Comments
 
LVL 21

Accepted Solution

by:
Alfred A. earned 2000 total points
ID: 34151332
Why don't you try using a FindControlRecursive function to locate your control?

Check my comments on this EE links:

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_25738395.html

http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_25836779.html
0
 
LVL 6

Expert Comment

by:AlfredRobot
ID: 34151337
If you can provide your aspx file and source code, it will be easier for us to help you.
And if you want to find controls inside the repeater, page.findcontrol() will not help. e.item.findcontrol() is a good one, but still, life will be easier if you can provide source code.

Generally, this article is a very good one concerning "FindControl" in asp.net
http://odetocode.com/Articles/116.aspx
0
 
LVL 11

Expert Comment

by:MajorBigDeal
ID: 34152144
I always have the same problem. if you don't want to do the recursive thing then start in the Page_Load, and use this to get the top level control.  
 
Control pageControl = ((Control)sender).Parent;

Then using the debugger you can work your way down to the control you are interested in. Once you find it, in the debugger, you will then know how to code your way down to it. In your code, check for null at each step to avoid the "object reference not set" problem.  

0
 

Author Closing Comment

by:vcbertini
ID: 34159078
That seems to work - took an example of the code off of a different post.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question