Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Reference A var on Master Page from User Control

Reply
Thread Tools

Reference A var on Master Page from User Control

 
 
=?Utf-8?B?TWljaGFlbA==?=
Guest
Posts: n/a
 
      04-06-2006
Hi Phillip,
Thanks for the reply. Ok, I think I'm almost there. What I did was add the
following to the Page_Load event of the Master Page:
AddHandler LogIn1.Alarm , AddressOf OnCurrentUser

For some reason the event is not kicked off. I stepped through the code, and
after I hit submit (Login) the code in the Login user control works right,
and calls the RaiseEvent procedure. But for some reason the Master Page event
is not kicked off. The Page_Load event of the Master Page is run again after
clicking the Login button so the AddHandler is being called. Does this make
since. Thanks for any help.
Michael


"Phillip Williams" wrote:

> Hi Michael,
>
> You are 99% done. You just missed the correct syntax for AddHandler. It
> should be like this:
>
> AddHandler NameOfObject.Event, AddressOf MethodHandlingTheEvent
> e.g.
> AddHandler LoginInfoObject.Alarm, AddressOf OnCurrentUser
>
> You could have also used the handle keyword on your method declaration like
> this:
>
> Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
> LoginInfoObject.Alarm
> _CurrentUser = e.UserInfo
> End Sub
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Michael" wrote:
>
> > Hi Phillip,
> > Thanks so much for the reply. I've started to look into this and have come
> > across one issue. It seems that AddHandler is not supported in ASP.NET. Is
> > this true, if so, what includes do I need to include into the project. Here
> > is what I have so far.
> > Just a refresher of what I needed:
> > 1. User enter UserId & password and selects submit.
> > 2. The login User control will check what roles they have and create a User
> > Object.
> > 3. Set the User Object to a Value stored in the MasterPage.
> > 4. Purchasing screen shown and depending on the Role the user has will
> > determine what the user sees (Admin/Standard user).
> > So what I have come up with so far based on the event based noticifaction.
> > Stand alone Class File:
> > Public Class UserInfoEventArgs
> > Inherits EventArgs
> > Private _User as User
> >
> > Public sub new(UserInfo as User )
> > _User = UserInfo
> > End Sub
> >
> > Public ReadOnly Property UserInfo() as User
> > Get
> > UserInfo = _User
> > End Get
> > End Property
> > End Class
> >
> > In the Login User Control:
> > Public Event Alarm as UserInfoEventHandler
> >
> > Protected OverRidable Sub OnAlarm(e as UserInfoEventArgs )
> > RaiseEvent Alarm(me, e)
> > End Sub
> >
> > Sub AuthenticateUser(userId as string, password as password)
> > 'Do stuff here.......
> > 'Now feed the UserInfo to the MasterPage via a Event
> > Dim e as New UserInfoEventArgs(lUser)
> > OnAlarm(e)
> > 'Do more stuff....
> > end sub
> >
> > In the MasterPage:
> > AddHandler Alarm, AddressOf OnCurrentUser
> >
> > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs )
> > _CurrentUser = e.UserInfo
> > End Sub
> > Note: I get a syntax error on the AddHandler line.
> >
> > Do I have this setup correctly for an ASP.NET page? Thanks again for any
> > suggestions.
> > Michael
> >
> >
> >
> >
> > "Phillip Williams" wrote:
> >
> > > Michael,
> > >
> > > If I understood your scenario correctly, then you have a master page (which
> > > is a control on the page) that has a child user control that needs to
> > > communicate data (users information that is generated perhaps after some user
> > > input) to the parent control (the master page).
> > >
> > > In such scenarios (of communicating data between 2 controls on a web form)
> > > you need to look at using events. When the child user control finishes
> > > collecting the user info, then you raise an event, that would be consumed by
> > > the parent control (the master page), which in turn would display the data on
> > > its control (or do whatever other processing required).
> > >
> > > To understand how to raise an event from the child control and how to
> > > consume it by the master page, review these articles on the MSDN:
> > > http://msdn2.microsoft.com/en-us/library/17sde2xt.aspx
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "Michael" wrote:
> > >
> > > > I have setup a public variable in the Master Page "code-behind-file". Now I
> > > > would like to set that value from the UserControl, but I can't seem to find a
> > > > way to do this. Does anyone have any ideas? I'm basically trying to set it up
> > > > so that I can keep the User infor (userid, ect) in the Masterpage so that
> > > > other pages can access it. Thanks for any ideas.
> > > > Michael
> > > >

 
Reply With Quote
 
 
 
 
=?Utf-8?B?TWljaGFlbA==?=
Guest
Posts: n/a
 
      04-06-2006
Hi Phillip,
I got the problem solved: I changed the code as follows:
Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
LogIn1.Alarm

Now the code is working right. I want to thank you again for the help.

"Phillip Williams" wrote:

> Hi Michael,
>
> You are 99% done. You just missed the correct syntax for AddHandler. It
> should be like this:
>
> AddHandler NameOfObject.Event, AddressOf MethodHandlingTheEvent
> e.g.
> AddHandler LoginInfoObject.Alarm, AddressOf OnCurrentUser
>
> You could have also used the handle keyword on your method declaration like
> this:
>
> Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
> LoginInfoObject.Alarm
> _CurrentUser = e.UserInfo
> End Sub
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Michael" wrote:
>
> > Hi Phillip,
> > Thanks so much for the reply. I've started to look into this and have come
> > across one issue. It seems that AddHandler is not supported in ASP.NET. Is
> > this true, if so, what includes do I need to include into the project. Here
> > is what I have so far.
> > Just a refresher of what I needed:
> > 1. User enter UserId & password and selects submit.
> > 2. The login User control will check what roles they have and create a User
> > Object.
> > 3. Set the User Object to a Value stored in the MasterPage.
> > 4. Purchasing screen shown and depending on the Role the user has will
> > determine what the user sees (Admin/Standard user).
> > So what I have come up with so far based on the event based noticifaction.
> > Stand alone Class File:
> > Public Class UserInfoEventArgs
> > Inherits EventArgs
> > Private _User as User
> >
> > Public sub new(UserInfo as User )
> > _User = UserInfo
> > End Sub
> >
> > Public ReadOnly Property UserInfo() as User
> > Get
> > UserInfo = _User
> > End Get
> > End Property
> > End Class
> >
> > In the Login User Control:
> > Public Event Alarm as UserInfoEventHandler
> >
> > Protected OverRidable Sub OnAlarm(e as UserInfoEventArgs )
> > RaiseEvent Alarm(me, e)
> > End Sub
> >
> > Sub AuthenticateUser(userId as string, password as password)
> > 'Do stuff here.......
> > 'Now feed the UserInfo to the MasterPage via a Event
> > Dim e as New UserInfoEventArgs(lUser)
> > OnAlarm(e)
> > 'Do more stuff....
> > end sub
> >
> > In the MasterPage:
> > AddHandler Alarm, AddressOf OnCurrentUser
> >
> > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs )
> > _CurrentUser = e.UserInfo
> > End Sub
> > Note: I get a syntax error on the AddHandler line.
> >
> > Do I have this setup correctly for an ASP.NET page? Thanks again for any
> > suggestions.
> > Michael
> >
> >
> >
> >
> > "Phillip Williams" wrote:
> >
> > > Michael,
> > >
> > > If I understood your scenario correctly, then you have a master page (which
> > > is a control on the page) that has a child user control that needs to
> > > communicate data (users information that is generated perhaps after some user
> > > input) to the parent control (the master page).
> > >
> > > In such scenarios (of communicating data between 2 controls on a web form)
> > > you need to look at using events. When the child user control finishes
> > > collecting the user info, then you raise an event, that would be consumed by
> > > the parent control (the master page), which in turn would display the data on
> > > its control (or do whatever other processing required).
> > >
> > > To understand how to raise an event from the child control and how to
> > > consume it by the master page, review these articles on the MSDN:
> > > http://msdn2.microsoft.com/en-us/library/17sde2xt.aspx
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "Michael" wrote:
> > >
> > > > I have setup a public variable in the Master Page "code-behind-file". Now I
> > > > would like to set that value from the UserControl, but I can't seem to find a
> > > > way to do this. Does anyone have any ideas? I'm basically trying to set it up
> > > > so that I can keep the User infor (userid, ect) in the Masterpage so that
> > > > other pages can access it. Thanks for any ideas.
> > > > Michael
> > > >

 
Reply With Quote
 
 
 
 
=?Utf-8?B?UGhpbGxpcCBXaWxsaWFtcw==?=
Guest
Posts: n/a
 
      04-06-2006
My pleasure.
--
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


"Michael" wrote:

> Hi Phillip,
> I got the problem solved: I changed the code as follows:
> Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
> LogIn1.Alarm
>
> Now the code is working right. I want to thank you again for the help.
>
> "Phillip Williams" wrote:
>
> > Hi Michael,
> >
> > You are 99% done. You just missed the correct syntax for AddHandler. It
> > should be like this:
> >
> > AddHandler NameOfObject.Event, AddressOf MethodHandlingTheEvent
> > e.g.
> > AddHandler LoginInfoObject.Alarm, AddressOf OnCurrentUser
> >
> > You could have also used the handle keyword on your method declaration like
> > this:
> >
> > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
> > LoginInfoObject.Alarm
> > _CurrentUser = e.UserInfo
> > End Sub
> >
> > --
> > HTH,
> > Phillip Williams
> > http://www.societopia.net
> > http://www.webswapp.com
> >
> >
> > "Michael" wrote:
> >
> > > Hi Phillip,
> > > Thanks so much for the reply. I've started to look into this and have come
> > > across one issue. It seems that AddHandler is not supported in ASP.NET. Is
> > > this true, if so, what includes do I need to include into the project. Here
> > > is what I have so far.
> > > Just a refresher of what I needed:
> > > 1. User enter UserId & password and selects submit.
> > > 2. The login User control will check what roles they have and create a User
> > > Object.
> > > 3. Set the User Object to a Value stored in the MasterPage.
> > > 4. Purchasing screen shown and depending on the Role the user has will
> > > determine what the user sees (Admin/Standard user).
> > > So what I have come up with so far based on the event based noticifaction.
> > > Stand alone Class File:
> > > Public Class UserInfoEventArgs
> > > Inherits EventArgs
> > > Private _User as User
> > >
> > > Public sub new(UserInfo as User )
> > > _User = UserInfo
> > > End Sub
> > >
> > > Public ReadOnly Property UserInfo() as User
> > > Get
> > > UserInfo = _User
> > > End Get
> > > End Property
> > > End Class
> > >
> > > In the Login User Control:
> > > Public Event Alarm as UserInfoEventHandler
> > >
> > > Protected OverRidable Sub OnAlarm(e as UserInfoEventArgs )
> > > RaiseEvent Alarm(me, e)
> > > End Sub
> > >
> > > Sub AuthenticateUser(userId as string, password as password)
> > > 'Do stuff here.......
> > > 'Now feed the UserInfo to the MasterPage via a Event
> > > Dim e as New UserInfoEventArgs(lUser)
> > > OnAlarm(e)
> > > 'Do more stuff....
> > > end sub
> > >
> > > In the MasterPage:
> > > AddHandler Alarm, AddressOf OnCurrentUser
> > >
> > > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs )
> > > _CurrentUser = e.UserInfo
> > > End Sub
> > > Note: I get a syntax error on the AddHandler line.
> > >
> > > Do I have this setup correctly for an ASP.NET page? Thanks again for any
> > > suggestions.
> > > Michael
> > >
> > >
> > >
> > >
> > > "Phillip Williams" wrote:
> > >
> > > > Michael,
> > > >
> > > > If I understood your scenario correctly, then you have a master page (which
> > > > is a control on the page) that has a child user control that needs to
> > > > communicate data (users information that is generated perhaps after some user
> > > > input) to the parent control (the master page).
> > > >
> > > > In such scenarios (of communicating data between 2 controls on a web form)
> > > > you need to look at using events. When the child user control finishes
> > > > collecting the user info, then you raise an event, that would be consumed by
> > > > the parent control (the master page), which in turn would display the data on
> > > > its control (or do whatever other processing required).
> > > >
> > > > To understand how to raise an event from the child control and how to
> > > > consume it by the master page, review these articles on the MSDN:
> > > > http://msdn2.microsoft.com/en-us/library/17sde2xt.aspx
> > > >
> > > > --
> > > > HTH,
> > > > Phillip Williams
> > > > http://www.societopia.net
> > > > http://www.webswapp.com
> > > >
> > > >
> > > > "Michael" wrote:
> > > >
> > > > > I have setup a public variable in the Master Page "code-behind-file". Now I
> > > > > would like to set that value from the UserControl, but I can't seem to find a
> > > > > way to do this. Does anyone have any ideas? I'm basically trying to set it up
> > > > > so that I can keep the User infor (userid, ect) in the Masterpage so that
> > > > > other pages can access it. Thanks for any ideas.
> > > > > Michael
> > > > >

 
Reply With Quote
 
=?Utf-8?B?UGhpbGxpcCBXaWxsaWFtcw==?=
Guest
Posts: n/a
 
      04-06-2006
Hi Michael,

Yes, you should have placed the event wiring during the page.init. (The
other solution of using the handles statement of the function signature that
you got working does the same)
--
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


"Michael" wrote:

> Hi Phillip,
> Thanks for the reply. Ok, I think I'm almost there. What I did was add the
> following to the Page_Load event of the Master Page:
> AddHandler LogIn1.Alarm , AddressOf OnCurrentUser
>
> For some reason the event is not kicked off. I stepped through the code, and
> after I hit submit (Login) the code in the Login user control works right,
> and calls the RaiseEvent procedure. But for some reason the Master Page event
> is not kicked off. The Page_Load event of the Master Page is run again after
> clicking the Login button so the AddHandler is being called. Does this make
> since. Thanks for any help.
> Michael
>
>
> "Phillip Williams" wrote:
>
> > Hi Michael,
> >
> > You are 99% done. You just missed the correct syntax for AddHandler. It
> > should be like this:
> >
> > AddHandler NameOfObject.Event, AddressOf MethodHandlingTheEvent
> > e.g.
> > AddHandler LoginInfoObject.Alarm, AddressOf OnCurrentUser
> >
> > You could have also used the handle keyword on your method declaration like
> > this:
> >
> > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs ) Handles
> > LoginInfoObject.Alarm
> > _CurrentUser = e.UserInfo
> > End Sub
> >
> > --
> > HTH,
> > Phillip Williams
> > http://www.societopia.net
> > http://www.webswapp.com
> >
> >
> > "Michael" wrote:
> >
> > > Hi Phillip,
> > > Thanks so much for the reply. I've started to look into this and have come
> > > across one issue. It seems that AddHandler is not supported in ASP.NET. Is
> > > this true, if so, what includes do I need to include into the project. Here
> > > is what I have so far.
> > > Just a refresher of what I needed:
> > > 1. User enter UserId & password and selects submit.
> > > 2. The login User control will check what roles they have and create a User
> > > Object.
> > > 3. Set the User Object to a Value stored in the MasterPage.
> > > 4. Purchasing screen shown and depending on the Role the user has will
> > > determine what the user sees (Admin/Standard user).
> > > So what I have come up with so far based on the event based noticifaction.
> > > Stand alone Class File:
> > > Public Class UserInfoEventArgs
> > > Inherits EventArgs
> > > Private _User as User
> > >
> > > Public sub new(UserInfo as User )
> > > _User = UserInfo
> > > End Sub
> > >
> > > Public ReadOnly Property UserInfo() as User
> > > Get
> > > UserInfo = _User
> > > End Get
> > > End Property
> > > End Class
> > >
> > > In the Login User Control:
> > > Public Event Alarm as UserInfoEventHandler
> > >
> > > Protected OverRidable Sub OnAlarm(e as UserInfoEventArgs )
> > > RaiseEvent Alarm(me, e)
> > > End Sub
> > >
> > > Sub AuthenticateUser(userId as string, password as password)
> > > 'Do stuff here.......
> > > 'Now feed the UserInfo to the MasterPage via a Event
> > > Dim e as New UserInfoEventArgs(lUser)
> > > OnAlarm(e)
> > > 'Do more stuff....
> > > end sub
> > >
> > > In the MasterPage:
> > > AddHandler Alarm, AddressOf OnCurrentUser
> > >
> > > Public sub OnCurrentUser(sender as Object, e as UserInfoEventArgs )
> > > _CurrentUser = e.UserInfo
> > > End Sub
> > > Note: I get a syntax error on the AddHandler line.
> > >
> > > Do I have this setup correctly for an ASP.NET page? Thanks again for any
> > > suggestions.
> > > Michael
> > >
> > >
> > >
> > >
> > > "Phillip Williams" wrote:
> > >
> > > > Michael,
> > > >
> > > > If I understood your scenario correctly, then you have a master page (which
> > > > is a control on the page) that has a child user control that needs to
> > > > communicate data (users information that is generated perhaps after some user
> > > > input) to the parent control (the master page).
> > > >
> > > > In such scenarios (of communicating data between 2 controls on a web form)
> > > > you need to look at using events. When the child user control finishes
> > > > collecting the user info, then you raise an event, that would be consumed by
> > > > the parent control (the master page), which in turn would display the data on
> > > > its control (or do whatever other processing required).
> > > >
> > > > To understand how to raise an event from the child control and how to
> > > > consume it by the master page, review these articles on the MSDN:
> > > > http://msdn2.microsoft.com/en-us/library/17sde2xt.aspx
> > > >
> > > > --
> > > > HTH,
> > > > Phillip Williams
> > > > http://www.societopia.net
> > > > http://www.webswapp.com
> > > >
> > > >
> > > > "Michael" wrote:
> > > >
> > > > > I have setup a public variable in the Master Page "code-behind-file". Now I
> > > > > would like to set that value from the UserControl, but I can't seem to find a
> > > > > way to do this. Does anyone have any ideas? I'm basically trying to set it up
> > > > > so that I can keep the User infor (userid, ect) in the Masterpage so that
> > > > > other pages can access it. Thanks for any ideas.
> > > > > Michael
> > > > >

 
Reply With Quote
 
www.clubpath.com www.clubpath.com is offline
Junior Member
Join Date: May 2008
Posts: 2
 
      06-05-2008
Try using

Namespace.YourMasterPageName master = (Namespace.YourMasterPageName)Page.Master;

then you should be able to access your public variable from your user control through:

master.VariableName;

hth

Will

www.clubpath.com | Toronto Night Club Pictures
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Setting the value of a Master page's control's property using a property of the Master page Nathan Sokalski ASP .Net 25 03-04-2010 03:42 AM
ASP.NET 2.0: master pages and web user controls: reference to a non-shared member requires an object reference bminder ASP .Net 0 06-24-2005 12:22 AM
Difference between Session["var"] and Session("var") thomson ASP .Net 10 06-20-2005 01:02 PM
seeking servlet "Master" keep getting "Master/servlet/Master" not found. Tomcat 5.0.25 Doug McCann Java 1 08-05-2004 09:16 PM
Threads.. Session var lost, App var ok Alvin Bruney ASP .Net 1 12-02-2003 01:56 AM



Advertisments