JDEE8297
asked on
Using Master Page and the page.header is showing up as nothing
I have a simple master page, nothing too fancy in there, and have a content page that inheirts from a page base class. Reason for the base class is to move the view state down to the bottom of the page. All that seems to work the way I want, so no issue there.
Issue comes when I am trying to setup a routine where I can call from any page and add metadata to my page rendered. In my page base class I have a method called AddPAgeMetaData and the code is attached. In the page load event of the content page I have the following piece of code.
AddPageMetaData("keywords" , "some key words", Page.Header)
AddPageMetaData("descripti on", "some description", Page.Header)
Page.Header is always nothing and I am not sure why that is the case, because I could have sworn when playing around with this on my laptop at home, I was able to get this working. I have tried to do this a number ways, as in taking out the call to the page base class, but still get the same result. If anyone has any ideas on what is going on here, please let me know.
In the function call you may notic swuh, this is simple the following at the top of the page base class:
Imports swuh = System.Web.UI.HtmlControls
Issue comes when I am trying to setup a routine where I can call from any page and add metadata to my page rendered. In my page base class I have a method called AddPAgeMetaData and the code is attached. In the page load event of the content page I have the following piece of code.
AddPageMetaData("keywords"
AddPageMetaData("descripti
Page.Header is always nothing and I am not sure why that is the case, because I could have sworn when playing around with this on my laptop at home, I was able to get this working. I have tried to do this a number ways, as in taking out the call to the page base class, but still get the same result. If anyone has any ideas on what is going on here, please let me know.
In the function call you may notic swuh, this is simple the following at the top of the page base class:
Imports swuh = System.Web.UI.HtmlControls
Public Function AddPageMetaData(ByVal strKeyName As String, ByVal strKeyValue As String, ByVal pgHeader As swuh.HtmlHead) As Boolean
'Local variables
Dim blnReturn As Boolean = True
Dim pgMetaData As New swuh.HtmlMeta
Dim ltrNewLine As New Literal
'Local constants
Const cstrPROC_FUNC_NAME As String = _cstrMODULE_NAME & ".AddPageMetaData"
Try
With ltrNewLine
.Text = Environment.NewLine
End With
With pgMetaData
.Name = strKeyName
.Content = strKeyValue
End With
'Create the meta data value
With pgHeader
.Controls.Add(pgMetaData)
.Controls.Add(ltrNewLine)
End With
Catch ex As Exception
Finally
pgMetaData = Nothing
ltrNewLine = Nothing
End Try
End Function
can you not just put a content placer holder in the head section of the masterpage and then use that content holder in the child page?
ASKER
Would love to do that, but I am afraid there will be other meta tags besides the normal two, so I was trying to make it smart enough to handle all of these.
ASKER
This is why I sometimes I really dislike programming? same piece of code on my laptop at home works every single time I run it, page.header always has a value and I have no idea when running this on my machine at work it doesn't have any value.
Same code just different computers.
On the page base class I have this at the top of the page
Inherits System.Web.UI.Page
Inside the content page I reference the base class like so
Inherits cPages
I set the call at the form load
AddPageMetaData("keywords" , "Some keywords", Page.Header)
AddPageMetaData("descripti on", "some description", Page.Header)
AddPageMetaData("bollox", "something else", Page.Header)
And everytime Page.Header is a big fat nothing, and yet on my vista laptop it is not nothing. Finally, something on Vista works that doesn't work on xp ;). :)
Same code just different computers.
On the page base class I have this at the top of the page
Inherits System.Web.UI.Page
Inside the content page I reference the base class like so
Inherits cPages
I set the call at the form load
AddPageMetaData("keywords"
AddPageMetaData("descripti
AddPageMetaData("bollox", "something else", Page.Header)
And everytime Page.Header is a big fat nothing, and yet on my vista laptop it is not nothing. Finally, something on Vista works that doesn't work on xp ;). :)
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I could not figure out why it was nothing always.
Thanks this was really helpful.
Thanks this was really helpful.