473,396 Members | 1,693 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Master Page properties

Hello-

I am missing something very easy here I think.

I have 3 files

test.master.vb (Master)
content.aspx.vb (content)
Control.ascx.vb (user Control)

All 3 work fine together, but I am not being able to get/set parameters
like I think I should. I think it has something to do with in the order
of the load events. Please see the <<<<<Problem areas>>>>>> in below
code.

Thanks,
Chris

----------------------------
test.master.vb
--------------------------------
Imports System.Web.Security

Namespace TEST
Partial Class Master
Inherits System.Web.UI.MasterPage

Private m_UserId As String = -1
Private m_PageTitle As String

Public Property PageTitle() As String
Get
Return m_PageTitle
End Get
Set(ByVal value As String)
m_PageTitle = value
End Set
End Property

Public Property UserId() As String
Get
Return m_UserId
End Get
Set(ByVal value As String)
m_UserId = value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

m_UserId = 2

' set page title coming from content pages
Title.Text = "Test Site"
If m_PageTitle <> "" Then Title.Text += " - " & m_PageTitle

End Sub
End Class
End Namespace


----------------------------
content.aspx.vb
----------------------------
Imports System.Web.Security

Namespace TEST
Partial Class Brands
Inherits System.Web.UI.Page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Master.PageTitle = testUserControl.BrandName

testUserControl.UserId = Master.UserId
''''<<<<<Master.UserId IS SET TO -1, not what the masterpage Page_Load
sets it to>>>>>>

End Sub
End Class
End Namespace


----------------------------
Control.acsx.vb
----------------------------
Namespace AVB.Controls

Partial Class SupplierCategories
Inherits System.Web.UI.UserControl

Private m_BrandName As String

Public Property BrandName() As String
Get
Return m_BrandName
End Get
Set(ByVal value As String)
m_BrandName = value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
m_BrandName = "Title From User COntrol" ''' <<<<<NEVER
MAKES IT TO MASTER PAGE via content.aspx.vb Page_Load >>>>>>
End Sub
End Class

End Namespace

Nov 19 '05 #1
4 1544
The order of events, I suspect, is that the Page_Load for Brands fires
first, followed by Page_Load for Master, then SupplierCategories.

Your code looks as if it would break even if the order of events is
reversed - the Master class depends on the user control being
initialized first and the user control depends on the Master to be
initialized first. Was that just an experiment?

--
Scott
http://www.OdeToCode.com/blogs/scott/
On 8 Sep 2005 14:22:46 -0700, rm*****@hotmail.com wrote:
Hello-

I am missing something very easy here I think.

I have 3 files

test.master.vb (Master)
content.aspx.vb (content)
Control.ascx.vb (user Control)

All 3 work fine together, but I am not being able to get/set parameters
like I think I should. I think it has something to do with in the order
of the load events. Please see the <<<<<Problem areas>>>>>> in below
code.

Thanks,
Chris

----------------------------
test.master.vb
--------------------------------
Imports System.Web.Security

Namespace TEST
Partial Class Master
Inherits System.Web.UI.MasterPage

Private m_UserId As String = -1
Private m_PageTitle As String

Public Property PageTitle() As String
Get
Return m_PageTitle
End Get
Set(ByVal value As String)
m_PageTitle = value
End Set
End Property

Public Property UserId() As String
Get
Return m_UserId
End Get
Set(ByVal value As String)
m_UserId = value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

m_UserId = 2

' set page title coming from content pages
Title.Text = "Test Site"
If m_PageTitle <> "" Then Title.Text += " - " & m_PageTitle

End Sub
End Class
End Namespace


----------------------------
content.aspx.vb
----------------------------
Imports System.Web.Security

Namespace TEST
Partial Class Brands
Inherits System.Web.UI.Page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Master.PageTitle = testUserControl.BrandName

testUserControl.UserId = Master.UserId
''''<<<<<Master.UserId IS SET TO -1, not what the masterpage Page_Load
sets it to>>>>>>

End Sub
End Class
End Namespace


----------------------------
Control.acsx.vb
----------------------------
Namespace AVB.Controls

Partial Class SupplierCategories
Inherits System.Web.UI.UserControl

Private m_BrandName As String

Public Property BrandName() As String
Get
Return m_BrandName
End Get
Set(ByVal value As String)
m_BrandName = value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
m_BrandName = "Title From User COntrol" ''' <<<<<NEVER
MAKES IT TO MASTER PAGE via content.aspx.vb Page_Load >>>>>>
End Sub
End Class

End Namespace


Nov 19 '05 #2

Scott Allen wrote:
The order of events, I suspect, is that the Page_Load for Brands fires
first, followed by Page_Load for Master, then SupplierCategories.

Your code looks as if it would break even if the order of events is
reversed - the Master class depends on the user control being
initialized first and the user control depends on the Master to be
initialized first. Was that just an experiment?

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

I am experimenting/learning to get this working. I wonder if it is even
possible to do what I am attempting:

1. Store my authenticated userid in master and use it in the control

2. Change the page title (in master) by setting it in my control

Any suggestions would be appreciated.

Nov 19 '05 #3
I think I'd make the Page derived class responsible for those tasks.
The Page could query the usercontrol as to what the title should be,
and set the title.

I'm not sure how you are using UserID, but I don't think I'd make the
master page responsible for carrying the UserID. I'd use master pages
strictly for UI layout and keep out any other logic.

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

On 9 Sep 2005 06:42:02 -0700, rm*****@hotmail.com wrote:

Scott Allen wrote:
The order of events, I suspect, is that the Page_Load for Brands fires
first, followed by Page_Load for Master, then SupplierCategories.

Your code looks as if it would break even if the order of events is
reversed - the Master class depends on the user control being
initialized first and the user control depends on the Master to be
initialized first. Was that just an experiment?

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

I am experimenting/learning to get this working. I wonder if it is even
possible to do what I am attempting:

1. Store my authenticated userid in master and use it in the control

2. Change the page title (in master) by setting it in my control

Any suggestions would be appreciated.


Nov 19 '05 #4

Scott Allen wrote:
I think I'd make the Page derived class responsible for those tasks.
The Page could query the usercontrol as to what the title should be,
and set the title.

I'm not sure how you are using UserID, but I don't think I'd make the
master page responsible for carrying the UserID. I'd use master pages
strictly for UI layout and keep out any other logic.

I agree, I created a base class to manage the userid as in :

http://aspnet.4guysfromrolla.com/articles/041305-1.aspx

Thanks for the input!

Nov 19 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Steve Franks | last post by:
I have this cool nested master page scenario working great. However what is the correct way to be able to access a strongly typed property at the top level master from a content page that has a...
4
by: Suresh | last post by:
Is there any way to access the custom properties of a master page from the aspx form? I know the custom properties of a master page can be accessed from the aspx.cs partial class by specifying...
4
by: evantay | last post by:
I'm using ASP.NET 2.0 with VS.NET 2005. I'm trying to access properties from my master pages within a page that inherits from that master page (a child page). However the values are always null....
0
by: dixonjm | last post by:
Hi, I have a master page & various pages that will use this master page. Each content page will have a CSS & JS file which will be named the same as the content page. When I try to load the CSS...
4
by: Seth Williams | last post by:
If I have some Master Page properties, and assign them when the master page first loads, knowing that I can access these property values in the current Content pages, will these properties be...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.