|
.net
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
getting web page - control and class to talk to one another is hard...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 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 > > > Where does
MANAGEGENERAL As Control = LoadControl("webcontrol.ascx") exist? In Page_Load? Is it executed with every postback and before the Click event? -- Show quoteHide quoteScott 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 > > 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 >> >> > 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. -- Show quoteHide quoteScott http://www.OdeToCode.com/blogs/scott/ On Thu, 24 Mar 2005 07:40:45 -0500, "Support" <RemoveThis_Supp***@mail.oci.state.ga.us> wrote: >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 >>> >>> >> >
Other interesting topics
web application security
unicode characters in web form aspx pages, utf-8 Javascript not working when part of asp.net page. DataGrid Sort Expression for a date in format 'dd mmm yy' detecting empty 'input type=file' fields? New Cracked Software(cad,cae,cam,eda,pcb,gis,cfd,cnc...) Runing Client-side code Urgent help needed in Regular expressions how to toggle the visibility of large chunks of a page dynamically adding validation controls |
|||||||||||||||||||||||