Object reference not set to an instance of an object. !ISPOSTBACK

Hello,

I am getting the Object Reference message but I am confused because I did create an instance of the base class in the calling program " CheckProgramAccess CPA = new CheckProgramAccess()"

The error is being thrown within the .DLL at this statement:
"string TrackId = HttpContext.Current.Request.QueryString["track"].Substring(0,8) ;"

The Part 2 of the code is in a .dll which I am not allowed to change.  So my question is - two fold:
1). Why is this error happening since I did create an instance as demonstrated by CPA....and
2). How do I resolve this within my Part 1 code sniplet?

Thank you!
Part#1:
 protected void Page_Load(object sender, EventArgs e)
 
        {
        if (!IsPostBack)
            {
            CheckProgramAccess CPA = new CheckProgramAccess();
 
            if (!CPA.Authorized())
                {
                Response.Redirect("/asp/home.asp");
                }
            else
                {
 
                }
            }
=========
Part# 2:
 
public class CheckProgramAccess
	{
		public CheckProgramAccess()
		{
			//
			// TODO: Add constructor logic here
			//
		}
 
		public bool Authorized()
		{
			bool Authenticated = true;
			bool RtnCde = false ;
			string UpId = "" ;
			string TimeOut = "" ;
			string LogTime = "" ;
 
			try
			{
				string TrackId = HttpContext.Current.Request.QueryString["track"].Substring(0,8) ;
				string Program =  HttpContext.Current.Request.QueryString["program"].ToString() ;
	}
			catch(Exception ex)
			{
				string msg = ex.Message.ToString();
				Authenticated = false ;
			}
			return Authenticated;
		}

Open in new window

MuaadeebAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GuitarRichCommented:
The error is probably occuring because the Request.QueryString doesn't contain a "track" entry.
You should check for this before assigning it to a variable in the dll.
If you can't change the DLL - then check for it before the call to the DLL e.g

 protected void Page_Load(object sender, EventArgs e)
 
        {
        if (!IsPostBack)
            {
            if (Request.QueryString["track"] != null)
            {
                CheckProgramAccess CPA = new CheckProgramAccess();
 
                if (!CPA.Authorized())
                {
                    Response.Redirect("/asp/home.asp");
                }
                else
                {
 
                }
            }
        }

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
guru_samiCommented:
looks you Request.QueryString["track"] is null...
When you are accessing you page ...are you passing queryString parameter track and program in the url....
What is the url of the Page?
0
MuaadeebAuthor Commented:
Thanks guys you were right.   The query string was null and as a result the .DLL code had no idea what it was supposed to be referencing.


Thank you!

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.