Home All Groups Group Topic Archive Search About

getting web page - control and class to talk to one another is hard...

Author
22 Mar 2005 9:15 PM
Support
Hello:

I have a aspx web page - let's call it main.aspx
It contains a placeholder: Myplaceholder.

I have a web control, lets call it webcontrol which has a code behind class
called webcontrolclass and a label called mycontrollabel
In the webcontrolclass, I have a private sub called:
Sub writetomycontrollabel(stuff as text)
    mycontrollabel.text=stuff
End Sub

The code behind  main.aspx
Dim MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") ' needed for
the placeholder
Public MyMANAGEGENERAL As New webcontrolclass


I have a sub which is called by a button located on main.aspx
Sub mainaspx_click(usualstuff ) handles mainaspx.Click
MyPlaceholder.Controls.Add(MANAGEGENERAL)
    MyMANAGEGENERAL.writetomycontrollabel("hello")
End sub

I get the error message:
Object reference not set to an instance of an object.
Exception Details: System.NullReferenceException: Object reference not set
to an instance of an object.
    MyMANAGEGENERAL.writetomycontrollabel("hello")

So, I am missing something obvious - but I dont get it.
Help
Thanks
Terry

Author
22 Mar 2005 10:49 PM
ashish
I think you need to load the control using
LoadControl method and then add it to the controls collection. The
problem is that the label control inside your custom control is not
loaded yet..


hth
-ashish


ote:
Show quoteHide quote
> Hello:
>
> I have a aspx web page - let's call it main.aspx
> It contains a placeholder: Myplaceholder.
>
> I have a web control, lets call it webcontrol which has a code behind class
> called webcontrolclass and a label called mycontrollabel
> In the webcontrolclass, I have a private sub called:
> Sub writetomycontrollabel(stuff as text)
>     mycontrollabel.text=stuff
> End Sub
>
> The code behind  main.aspx
> Dim MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") ' needed for
> the placeholder
> Public MyMANAGEGENERAL As New webcontrolclass
>
>
> I have a sub which is called by a button located on main.aspx
> Sub mainaspx_click(usualstuff ) handles mainaspx.Click
> MyPlaceholder.Controls.Add(MANAGEGENERAL)
>     MyMANAGEGENERAL.writetomycontrollabel("hello")
> End sub
>
> I get the error message:
> Object reference not set to an instance of an object.
> Exception Details: System.NullReferenceException: Object reference not set
> to an instance of an object.
>     MyMANAGEGENERAL.writetomycontrollabel("hello")
>
> So, I am missing something obvious - but I dont get it.
> Help
> Thanks
> Terry
>
>
>
Are all your drivers up to date? click for free checkup

Author
23 Mar 2005 4:54 PM
Scott Allen
Where does

  MANAGEGENERAL As Control = LoadControl("webcontrol.ascx")

exist? In Page_Load? Is it executed with every postback and before the
Click event?

--
Scott
http://www.OdeToCode.com/blogs/scott/

On Tue, 22 Mar 2005 16:15:15 -0500, "Support"
<RemoveThis_Supp***@mail.oci.state.ga.us> wrote:

Show quoteHide quote
>Hello:
>
>I have a aspx web page - let's call it main.aspx
>It contains a placeholder: Myplaceholder.
>
>I have a web control, lets call it webcontrol which has a code behind class
>called webcontrolclass and a label called mycontrollabel
>In the webcontrolclass, I have a private sub called:
>Sub writetomycontrollabel(stuff as text)
>    mycontrollabel.text=stuff
>End Sub
>
>The code behind  main.aspx
>Dim MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") ' needed for
>the placeholder
>Public MyMANAGEGENERAL As New webcontrolclass
>
>
>I have a sub which is called by a button located on main.aspx
>Sub mainaspx_click(usualstuff ) handles mainaspx.Click
>MyPlaceholder.Controls.Add(MANAGEGENERAL)
>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>End sub
>
>I get the error message:
>Object reference not set to an instance of an object.
>Exception Details: System.NullReferenceException: Object reference not set
>to an instance of an object.
>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>
>So, I am missing something obvious - but I dont get it.
>Help
>Thanks
>Terry
>
>
Author
24 Mar 2005 12:40 PM
Support
exist before and page Loads ...

Public Class A
Inherits System.Web.UI.Page
Dim MANAGEGENERAL As Control = LoadControl("ManageGeneral.ascx")


Private Sub PAge_Init() Handles MyBAse.Init
End Sub


Private Sub PAge_Load() Handles MyBase.Load
    MyPlaceholder.Controls.Add(MANAGEGENERAL)
End Sub

Terry






Show quoteHide quote
"Scott Allen" <scott@nospam.odetocode.com> wrote in message
news:bo73411r9dlt8nnnmhtq9e8vf8i2k2ckd1@4ax.com...
> Where does
>
>  MANAGEGENERAL As Control = LoadControl("webcontrol.ascx")
>
> exist? In Page_Load? Is it executed with every postback and before the
> Click event?
>
> --
> Scott
> http://www.OdeToCode.com/blogs/scott/
>
> On Tue, 22 Mar 2005 16:15:15 -0500, "Support"
> <RemoveThis_Supp***@mail.oci.state.ga.us> wrote:
>
>>Hello:
>>
>>I have a aspx web page - let's call it main.aspx
>>It contains a placeholder: Myplaceholder.
>>
>>I have a web control, lets call it webcontrol which has a code behind
>>class
>>called webcontrolclass and a label called mycontrollabel
>>In the webcontrolclass, I have a private sub called:
>>Sub writetomycontrollabel(stuff as text)
>>    mycontrollabel.text=stuff
>>End Sub
>>
>>The code behind  main.aspx
>>Dim MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") ' needed for
>>the placeholder
>>Public MyMANAGEGENERAL As New webcontrolclass
>>
>>
>>I have a sub which is called by a button located on main.aspx
>>Sub mainaspx_click(usualstuff ) handles mainaspx.Click
>>MyPlaceholder.Controls.Add(MANAGEGENERAL)
>>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>>End sub
>>
>>I get the error message:
>>Object reference not set to an instance of an object.
>>Exception Details: System.NullReferenceException: Object reference not set
>>to an instance of an object.
>>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>>
>>So, I am missing something obvious - but I dont get it.
>>Help
>>Thanks
>>Terry
>>
>>
>
Author
24 Mar 2005 2:53 PM
Scott Allen
You might want to turn on two options under Project -> Properties ->
Build: Option Strict and Option Explicit. That might help track down
the source of the error, looking at the code it doesn't seem these
options are on.

--
Scott
http://www.OdeToCode.com/blogs/scott/

On Thu, 24 Mar 2005 07:40:45 -0500, "Support"
<RemoveThis_Supp***@mail.oci.state.ga.us> wrote:

Show quoteHide quote
>exist before and page Loads ...
>
>Public Class A
>Inherits System.Web.UI.Page
>Dim MANAGEGENERAL As Control = LoadControl("ManageGeneral.ascx")
>
>
>Private Sub PAge_Init() Handles MyBAse.Init
>End Sub
>
>
>Private Sub PAge_Load() Handles MyBase.Load
>    MyPlaceholder.Controls.Add(MANAGEGENERAL)
>End Sub
>
>Terry
>
>
>
>
>
>
>"Scott Allen" <scott@nospam.odetocode.com> wrote in message
>news:bo73411r9dlt8nnnmhtq9e8vf8i2k2ckd1@4ax.com...
>> Where does
>>
>>  MANAGEGENERAL As Control = LoadControl("webcontrol.ascx")
>>
>> exist? In Page_Load? Is it executed with every postback and before the
>> Click event?
>>
>> --
>> Scott
>> http://www.OdeToCode.com/blogs/scott/
>>
>> On Tue, 22 Mar 2005 16:15:15 -0500, "Support"
>> <RemoveThis_Supp***@mail.oci.state.ga.us> wrote:
>>
>>>Hello:
>>>
>>>I have a aspx web page - let's call it main.aspx
>>>It contains a placeholder: Myplaceholder.
>>>
>>>I have a web control, lets call it webcontrol which has a code behind
>>>class
>>>called webcontrolclass and a label called mycontrollabel
>>>In the webcontrolclass, I have a private sub called:
>>>Sub writetomycontrollabel(stuff as text)
>>>    mycontrollabel.text=stuff
>>>End Sub
>>>
>>>The code behind  main.aspx
>>>Dim MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") ' needed for
>>>the placeholder
>>>Public MyMANAGEGENERAL As New webcontrolclass
>>>
>>>
>>>I have a sub which is called by a button located on main.aspx
>>>Sub mainaspx_click(usualstuff ) handles mainaspx.Click
>>>MyPlaceholder.Controls.Add(MANAGEGENERAL)
>>>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>>>End sub
>>>
>>>I get the error message:
>>>Object reference not set to an instance of an object.
>>>Exception Details: System.NullReferenceException: Object reference not set
>>>to an instance of an object.
>>>    MyMANAGEGENERAL.writetomycontrollabel("hello")
>>>
>>>So, I am missing something obvious - but I dont get it.
>>>Help
>>>Thanks
>>>Terry
>>>
>>>
>>
>

Bookmark and Share