Monday, March 26, 2012

Object reference error in UserControl's Load event

I have a UserControl that I declare programmatically as follows:
Dim userctrl as New rightside_portal()
The codebehind file for this UserControl looks like the following:
Partial Public Class rightside_portal : Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Const renewurl As String = "http://www.renewingsite.com/"
Me.lblExpiresOn.Text = String.Format("IMPORTANT<br/>Your account is set to
expire {0}. To renew your membership, please ", "EXPIRATIONDATE")
Me.lnkRenew.NavigateUrl = renewurl
Me.lnkSaveToday.NavigateUrl = renewurl
End Sub
End Class
However, I receive the following error when I run the application:
Server Error in '/' Application.
----
--
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set
to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an
object.]
AFBE.rightside_portal.Page_Load(Object sender, EventArgs e) +59
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
----
--
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET
Version:2.0.50727.210
I am pretty sure the problem has something to do with the fact that I am
declaring the UserControl in my codebehind rather than my *.aspx file, but I
am not quite sure what I need to do differently. If anyone can help me, I
would appreciate it. Thanks.
--
Nathan Sokalski
njsokalski@dotnet.itags.org.hotmail.com
http://www.nathansokalski.com/you can't create a "new UserContorl();"
you need to use Page.LoadControl("~/controls/test.ascx");
Using "new" creates a new instance of the class, but doesn't instanticate
the aspx class. therefore lblExpires is never created and you end up with a
null reference.
Karl
http://www.openmymind.net/
http://www.codebetter.com/
"Nathan Sokalski" <njsokalski@.hotmail.com> wrote in message
news:Oiui$QWMHHA.992@.TK2MSFTNGP06.phx.gbl...
>I have a UserControl that I declare programmatically as follows:
> Dim userctrl as New rightside_portal()
> The codebehind file for this UserControl looks like the following:
> Partial Public Class rightside_portal : Inherits System.Web.UI.UserControl
> Protected Sub Page_Load(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles Me.Load
> Const renewurl As String = "http://www.renewingsite.com/"
> Me.lblExpiresOn.Text = String.Format("IMPORTANT<br/>Your account is set to
> expire {0}. To renew your membership, please ", "EXPIRATIONDATE")
> Me.lnkRenew.NavigateUrl = renewurl
> Me.lnkSaveToday.NavigateUrl = renewurl
> End Sub
> End Class
>
> However, I receive the following error when I run the application:
> Server Error in '/' Application.
> ----
--
> Object reference not set to an instance of an object.
> Description: An unhandled exception occurred during the execution of the
> current web request. Please review the stack trace for more information
> about the error and where it originated in the code.
> Exception Details: System.NullReferenceException: Object reference not set
> to an instance of an object.
> Source Error:
> An unhandled exception was generated during the execution of the
> current web request. Information regarding the origin and location of the
> exception can be identified using the exception stack trace below.
> Stack Trace:
> [NullReferenceException: Object reference not set to an instance of an
> object.]
> AFBE.rightside_portal.Page_Load(Object sender, EventArgs e) +59
> System.Web.UI.Control.OnLoad(EventArgs e) +99
> System.Web.UI.Control.LoadRecursive() +47
> System.Web.UI.Control.LoadRecursive() +131
> System.Web.UI.Control.LoadRecursive() +131
> System.Web.UI.Control.LoadRecursive() +131
> System.Web.UI.Control.LoadRecursive() +131
> System.Web.UI.Page.ProcessRequestMain(Boolean
> includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
>
> ----
--
> Version Information: Microsoft .NET Framework Version:2.0.50727.42;
> ASP.NET Version:2.0.50727.210
> I am pretty sure the problem has something to do with the fact that I am
> declaring the UserControl in my codebehind rather than my *.aspx file, but
> I am not quite sure what I need to do differently. If anyone can help me,
> I would appreciate it. Thanks.
> --
> Nathan Sokalski
> njsokalski@.hotmail.com
> http://www.nathansokalski.com/
>

0 comments:

Post a Comment