Object reference not set to an instance of an object and INamingContainer

3.67 (12 votes)

A list of standard ASP.NET web controls that implement INamingContainer

Any control that implements the INamingContainer interface creates a new control namespace which ensures that child controls have unique names on the page. If you try to directly access, for example, a TextBox within a FormView without using the FormView's FindControl() method, you will receive an "Object reference not set to an instance of an object" error. An excellent explanation of this behaviour and the FindControl() method is provided by K Scott Allen, and I won't attempt to replicate the basis of his article here. Instead, here is a list of all the standard ASP.NET web controls (System.Web.UI.Controls) that implement INamingContainer with which the FindControl method needs to be used:

  • ChangePassword
  • CheckBoxList
  • CreateUserWizard
  • DataGrid
  • DataList
  • DetailsView
  • FormView
  • GridView
  • ListView
  • Login
  • LoginView
  • LoginStatus
  • Menu
  • PasswordRecovery
  • RadioButtonList
  • SiteMapPath

There is one addition to the above list - ContentPlaceHolder - when working with MasterPages. For example, to reference a label in a FormView in a ContentPlaceHolder, you need to do something like the following:

Label lbl = this.Content1.FindControl("FormView1").FindControl("Label1") as Label;

You might also like...

Date Posted:
Last Updated:
Posted by:
Total Views to date: 29428

5 Comments

- jkh

Error 8 'Controls' is not a member of 'DataGridTest.iX.Controls.DatePicker'. c:\inetpub\wwwroot\DataGridTest\App_Code_Old\datepicker.vb 21 32

- Mike

@jkh

As I mentioned next to the comment form you filled in, please make sure that your comments are relevant to the topic being discussed.

I would have emailed you privately with more advice, but your obviously made-up random email address made that impossible. Bit of a waste of your time, really.

- yogesh

thx so much

- ramz

i cannot find the control rangevalidator in formview asp.net using findcontrol.

- Afzaal Ahmad Zeeshan

Hello Mike,

Get article to share views over how to ignore null exception in Web Forms.

Anyways, there is a typo mistake in the code section. You've written two double quotes; (""FormView1"). Remove any one in the beginning. :)

Recent Comments

dave 20/08/2016 14:57
In response to ASP.NET Web Pages vNext or Razor Pages
Do SimplemembershipProvider in viewpages is supported?...

Steven 18/08/2016 04:40
In response to Entity Framework Code First and Stored Procedures
Can you provide the directives (using statements) you're using for EF7 example?...

yousaid 17/08/2016 22:08
In response to ASP.NET Web Pages vNext or Razor Pages
Increasingly, learning a Microsoft tool is no longer worth the return on investment. Too many tools...

jared 12/08/2016 05:54
In response to ASP.NET Web Pages vNext or Razor Pages
hi mike, just for clarification, is viewpages something different from webpages? is webpages still...

Jocke 08/08/2016 20:37
In response to Loading ASP.NET Core MVC Views From A Database Or Other Location
Good post! If this was to be implemented in a CMS where users can change the view files, how would I...

cyrus 05/08/2016 19:49
In response to ASP.NET Web Pages vNext or Razor Pages
I think adding these features to webpages make it complicated. msft forget webpages goal so we move...

Curt Smith 27/07/2016 20:38
In response to ASP.NET Web Pages vNext or Razor Pages
I am only slightly disappointed to hear that WebMatrix is officially dead, because I suspected this...

Darshan Raj L G 27/07/2016 13:20
In response to Implementing SQL Server Full-Text Search In An ASP.NET MVC Web Application With Entity Framework
I though it would be more helpful for somebody who wants to work with Entity Framework... please EF...

Satyabrata 25/07/2016 08:09
In response to Loading ASP.NET Core MVC Views From A Database Or Other Location
Very Interesting!!...

Jerrie Pelser 23/07/2016 05:08
In response to Loading ASP.NET Core MVC Views From A Database Or Other Location
Very cool concept Mike!...