Solved

Having trouble with FindControl

Posted on 2010-11-16
4
406 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 21

Accepted Solution

by:
Alfred1 earned 500 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

Suggested Solutions

Title # Comments Views Activity
Technology Resume 7 68
AJAX ModalPopupExtender will Not Hide in Asp.net 1 35
orderby list (from Json) 1 29
Visual C# Windows Project - Clone Form 4 22
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

749 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