Mysterious Error: Object reference not set to an instance of an object

M

Max

Hi There!

I'm having a mysterious error right after I login using Forms Authentication
in my ASP.NET app. Below is the error...

Exception Details: System.NullReferenceException: Object reference not set
to an instance of an object.

The exception throws at the code that tries to set a property (String data
type) at my Menu user control.

When I refresh the page, the page render successfully without any
exceptions! Why?? My conclusion is that there are no exceptions in the first
place. I can't think why ASP.NET throws the exception when I access the page
for first time but not the second time! This exception is totally
unpredictable and unreasonable!

Plz help!!!

My SYS specs are...
- ASP.NET 1.1
- Windows XP (This error also occurs on Windows 2000 and Windows Server 2003
as well)

Thank you all in advance.

Max
 
G

Guest

Probably not going to help, but I had a similar issue when trying to access
public properties of a web user control (I think thats what it's called... an
ASCX control).

For some reason the control wasn't be instantiated correctly, or posted back
to correctly.

I created a second page exactly in the same manner as the first, copied the
code and it worked. I deleted the first page, renamed the 2nd to the right
name and moved on.

If you make a brand new page w/ nothing but your control on it does it fail
as well?
 
K

Kevin Spencer

The NullReferenceException indicates that you are referencing an object in a
line of code, and that the object is null, or Nothing. It is not
instantiated. If you post the line of code which throws the exception, I can
tell you all of the object references in the line of code which may or may
not be null. After that, it will be up to you to determine which, and why.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
N

Navajo Boy

Inside the Page_Load function on the page i believe there is a
if(!Page.IsPostBack)
that is loading the Object. Look there.
 
K

Kevin Spencer

Are you the same person who asked the original question? If so, you need to
post the offending line of code. If not, what the heck are you talking
about?

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
G

Guest

I think Navajo is right... the problem lies in 'if(!Page.IsPostBack)' of
Page_Load().
...... whenever any control does a postback it goes through the
Page_Load() again. So the code that we donot want to run on every postback we
give in 'if(!Page.IsPostBack) {...}'. The code inside this loop only executes
when the page is loaded for the first time or an equivalent situation when we
refresh the page. I think thts where your problem lies Max. I think you are
initialising the menu control inside this if loop and somehow somewhere your
menu control loses its value, b4 coming back to page_load() on some postback.
And when it comes there its does not initialise the menu control as this code
is inside the if loop and it goes inside the if loop only when its not a
postback.
If you are initialising menu control in Page_Load() inside the
'if(!Page.IsPostBack)' try doing it outside this loop.
I am not very sure of your problem but if what I think your problem is is
correct then I guess this should work.
 
G

Guest

but yeah one should be really cautious putting some code outside
'if(!Page.IsPostBack)' as it may have negetive impact on performance.
 
M

Max

Hi Kevin,

Thanks for the reply.

What I have is an ASPX page, with one Header.ascx control which accepts
comma delimited menu items (such as Menu1,Menu2,Menu3). For testing
purposes, I've created a blank ASPX page with only header ASCX control on it
and on Page_Load, I set the menu items "Menu1,Menu2,Menu3".

I refresh the page rapidly. Every two or three refresh, I get the "Object
reference not set to an instance of an object" at the point where I tried to
assign the menu item values. So I commented out that line and I tried to
access MenuBarColor property of the header control. The SAME error
produces!!! So I concluded that my Header control is not instantiated for
some reason when I do rapid refresh.

Is this normal for ASP.NET to produce this error when rapidly refreshed or
what I'm doing wrong?

max
 
K

Kevin Spencer

What on earth makes you think that that particular line of code is in every
ASP.Net Page class?

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Kevin Spencer

So, Max, getting back to my question...

Would you please post the offending line of code?

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Kevin Spencer

It would help if you post the offending line of code. No, it is not normal
for you to get that exception, unless there is a bug in your code.

BTW, tip: Stick to one thread. Don't start new ones. Unlike Hansel and
Gretel, you're posts don't leave bread crumbs!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
D

Dimitri Glazkov

Max,

I am going to join Kevin in his plea to post your offending code. It is
time-consuming, frustrating and sometimes impossible to debug an error from
behind a curtain. From the symptoms, it seems obvious that you are doing
something wrong in the rendering or composition of your control, but unless
we see the code, it is hard to point out where.

:DG<
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top