C# - Nested Master Pages Change Programmaticaly?
Jan 20, 2011I have a PAGE with a structure like this:PAGE = MASTER PAGE A + nested MASTER PAGE B of A
View 2 RepliesI have a PAGE with a structure like this:PAGE = MASTER PAGE A + nested MASTER PAGE B of A
View 2 RepliesI got a Master page and nested master pages in the subfolders.
Top Level Master page
Second Level Master page inherited Top Level Master page
Third Level Master page inherited Second Level Master page
However, changes (i.e. new images & alt. name) that I made in the Top level master page did not apply to the second or third levels.My webpage has a correct front page but not in the sections. How can i correct this ?
Using MVC 2 for what it matter. (And also keep in mind for some reason I NEVER used Nested Master Pages)
I got a single Master page that work across my site.
However, I found from the design now, that each "Area" have a different subnavigation.
Figured it might finally be a reason to use Nested Master Pages....resulting into a lot of swearing over here...
What I did:Add a "Nested Master Page" to the "Shared" folder of a specific Area
(project/Areas/xxxx/Views/Shared/NestedMasterPage.Master)VS bring up a box asking to specify a Master Page, and I select the only one i have (project/Views/Shared/Site.Master)Leave it as is, I add a new View and for it's Master Page I browse to the new Nested Master Page.When I click Add, the following Error comes up:"The ContentPlaceHolder 'MainContent' doesn't exists in the Master page '~/Areas/xxx/Views/Shared/NestedMasterPage.master'. Please choose a valid ID for this Master Page.Bit buffled..the code for the nested master look like this:[Code]....
'MainContent' right there, or what is VS talking about?
to a vb code resource/tutorial that explains how you can change a theme from a dropdown list on a content page derived from a nested master page, not the main master page.
View 1 RepliesI have a VS2008 / C# app with about 30 web pages. All of them access a central Master Page and it works well.
I now have a new page to create which will have many, many sub-pages. The hierarchy will look like this:
Master Page
Web Page
Sub Page 1
Sub Page 2
. . .
Sub Page N
Doing a lot of reading, apparently I can turn the "Web Page" into a nested Master Page and then each Sub Page would become a Web Content Form. Just wondering, is this the ONLY approach I have available to accomplish this? Or are there other options?
I have a nested master page and CalendarExtender errors for any asp pages that references the nested master page.
The calendarExtender works if i put it on a page that references the top level master page and also if i add it to the nested master page it works.
I have the scriptmanager in my top level master and i have tried placing it in the child master and the child asp page.It compiles and works at run time. The problem is at design time any container that contains the CalendarExtender errors so i can't view the layout. I have an asp:panel with a table and a number of controls, one being the calendar extender. The entire panel errors and wont render any of the controls.
I have 2 nested master pages, lets call them MP1 and MP2. MP1 is top level, MP2 is level
2. Then I have several content pages. Lets say I have 2 content pages for now CP1 and CP2. Each content page has a form that will have some user input and a SaveData()function that saves the data to a database. Each content page also has a "Save" button that calls the SaveData() function.
MP1 and MP2 have several link buttons. The functionality I need is this: Any time a user clicks on a link button in MP1 or MP2, the SaveData() function of the currently loaded page should be called. This is to save the data even if the user forgets to click the "Save" button before leaving the page.
So far I can do this from the link buttons in MP2. I followed the master pages tutorial # 7
In the .cs file for MP2, I declare:
public event EventHandler SaveData;
then i raise a "SaveData" event any time a link button in MP2 is clicked.in every content page (CP1, CP2 etc.) aspx file, I have Master Type directive to assign the Master Page to MP2.
in CP1, CP2 etc .cs file, i have the following code:
protected void Page_PreInit(object sender, EventArgs e)
{
//wire up the SaveData event from MP2 to Master_SaveData function in this page.
Master.SaveData += new EventHandler(Master_SaveData);
}
private void Master_SaveData(object sender, EventArgs e)
{
//when the MP2 SaveData event is raised, save the data in this page.
SaveData();
}
All of this works fine.Problem is I am not able to do a similar thing from MP1.What I have tried so far is to raise an event in MP1 that is handled in MP2. When the event is handled in MP2, it raises the SaveData event to be handled in the page. The event in MP1 is null and hence never raised.
I am developinga site whichI want to contacin 2 'sub sites' - one for business clients and one for Home clients.
I therefore want to base each 'sub site' on a slightly different master page.
I have a base master calleed master1.master:
[Code]....
I then created a home.master using master1.master as its master:
[Code]....
BUT... on the web page all the contentplace holders are flagged as in error eg 'Could not fine "head" in the current master page or pages' where head is replaced by each placeholderIf I change the MasterPageFile= to point at master1.master the errors go away - but of course I dont have the differences in the page (at the moment just the menu)
I have tried the suggestions in http://forums.asp.net/t/1218788.aspx/2/10 but although the errors go away, the images in the Master1 left column don't get displayed and some of the css seems to disappear
I have a master page. This is where I put my ScriptManager control.I have a nested master page within the master page.I have a content page within the nested master page. This content page needs to register a Postback control with the ScriptManager, but I can't figure out how to access the ScriptManager. Both Master.FindControl() and Master.Master.FindControl() always return null. I also attempted to use a strongly typed master page, but like all controls, the ScriptManager is protected and thus inaccessible from the content page. How can I access the ScriptManager?
View 2 RepliesI am using v3.0.31106.0 of the AjaxControlTookkit.dlll. I have nested master pages. The site Master page has the only ScriptManager & holds the oneColumn & twoColumn master pages. The twoColumn master page holds content pages. In the content page there is a update panel.
Here is my Site Master Page:
[Code]....
Here is the Nested Master Page:
[Code]....
Before the update page I put the ToolkitScriptManager. In the update panel I put a button with a ConfirmBox Extender. I then get an error saying Only one instance of a ScriptManager can be added to the page. If I take the ToolkitScriptManager out this error goes away but then I get an error saying The ConfirmBox Extender is not recognized.According to all the posts I have read the last 24hours the master page should have the ScriptManager and the content page should hold the toolkitScriptManager.Here is my content page:
[Code]....
Here is the web.config file:
[Code]....
I have constructed a few web pages that are constructed from Nested Master Pages. Here's an example of what they look like: http://pelalusa.com/Downloads/Public/NestedMasterPageExample.JPG
The rectangular area on the right side is where the Content Pages are displayed. Everything else is one of the two nested Master Pages.
To navigate to a particular Content Page the user will navigate down the treeview on the left, then pick an "Activity" and then pick a "Major Task". When this happens then a Page Redirect occurs to the appropriate Content Page.
It works but the page reload leads to a terrible looking UI. What would be MUCH better is if I could somehow just change what appears in the Content Page area. Is there a way to do this? If it matters, every page has an AJAX UpdatePanel on it.
I want to retrieve a dropdown seleted value on click of a button but, on button click I am unable to retrieve the value as Page postback occurs and the dropdownlist get populated again.
I tried using the !IsPostback for the dropdown populte functionality but nothing. Even tried setting the seleted value on pageload itself before dropdown populate but again null come to the string.
I feel that because of nested master pages ( Iam using Parent.Master over Home.Master which consumes abc.aspx) I am unable to retrieve the values.
I have a main master page, say MasterPageMain, and a couple of folders with couple of pages in each folder which act as a child page to that master page - MasterPageMain.
Now, I have about 10 pages in one of the folder which follows a certain pattern and they could really use a nested pages since any change on some parts needs me to change all the pages which is a pain really.
I already added a Nested master page, say NestedMasterPage - which is a child of MasterPageMain
I tried to change one of the page's <%@ Page directive to NestedMasterPage, immediately, there were a lot of errors. plus I dint know where the NestedMasterPage's children content would go.
What do I need to know in order to do this succesfully?
ps: I dint do this initially because I only had 2 pages, and I dint need this at that time, as the project grew, now i see that I should have changed it much earlier..
My application has a Parent master page, a child master page and an aspx page( inheriting the child master page)
> Parent master page has two content placeholders ( A and B)
>Child master page uses the content placeholder A and instills two more placeholders ( C and D)
>aspx page can now use C and D naturally
However i would like to know whether the aspx page can place contents inside the placeholder B( which was not used by child master page)
I have a gridview that is bind to the datatable. how to programmaticaly change the color of the 1-st column, after the binding has been done?
View 2 RepliesFirst off, suggest better ways if you want rather than patch up this code. I am just starting this project and it is first time I have tried to code a web site so anything you suggest is very much welcomed. I have spent the last 2 and 1/2 days trying to find workable answers to this but none I have found and tried seem to fit. If needed I can email screens shots or code. I am trying to construct a website that will have the same main theme throughout as far as the header, navbars sitemap, and footer go. Naturally the content will vary from page to page. I want to use a single master page and css stylesheet for this main theme and I will change the content format as needed per page because each page may vary somewhat.
However, about 15 of the pages will all use the same format for their content and this format will differ from the rest of the site but the format of the main theme will stay the same. So I am trying to create a nested master page to use to format the just the content area for all these pages while retaining the main theme for the header, etc.. I believe I should use a separate css file with the nested master page to handle the formatting of the content areas for these 15 pages. I have code that looks like it works when viewed in web developer but design view but does not work when viewd through a browser (IE, Chrome, Firefox). So far I have the following done in web developer.
If it helps the code and screen shots follow. Master Page called "Parent.master". For all theme throughout site Nested Master Page called "Lab.master". For the 15 like pages Primary stylesheet file for main theme called "StylesheetNew.css" For site theme Secondary stylesheet file to syle the 15 like formatted pages. It is called Labmaster.css Labs.apsx file to use as first of the 15 like pages.
Finally screens shots from web developer and browser. Sorry try as I might I could not capture screenshots and put them into this post. The problem is that web developer shows all the area (many lines high) with gray background and with the XXX text that I want to allocate for content in the 15 pages. Yet all the browser show is one line of text o a white background followed by the footer. It looks like the LabStyleSheet works in Web Developer but not in a browser.
Parent.master
<%@ Master Language="VB" CodeFile="Parent.master.vb" Inherits="MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]">
<html xmlns="[URL]">
<head id="ParentHeader" runat="server">
<title>HX5</title>
<asp:ContentPlaceHolder runat="server" id="headerPlaceHolder" />
<link href="~/StyleSheetNew.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div id="wrapper" >
<div id="Header" >
<table class="hdrtbl1" >
<tr>
<td id="hdrtd1" style="width:175px; height:100px;" >
<img id="logo" alt="Logo" src="../Images/logo.png" style="width: 136px; height: 87px" />
</td>
</tr>
</table >
<table class="hdrtbl2" >
<tr><td id="hdrtbl2td1"><b> Providing Professional Technical, Manangement and Business Solution</b></td></tr>
<tr><td id="hdrtbl2td2"> <b> Services since 2004 </b></td></tr>
<tr> <td id="hdrtbl2td3" align="center" ><img id="rdln" alt="RedLine" style=" height:3px;" src="../Images/RedLine.png" /></td></tr>
<tr><td id="hdrtbl2td4" > <b>Committed to Excellence In All We Do</b></td></tr>
</table>
</div>
<div id="navbardiv">
<ul id="topnav">
<li><a href="../pages/about.aspx" >About Us <img style=" border: none; " src="../Images/arrow-down.gif" /></a>
<!--Subnav Starts Here-->
<span>
<a style="font-weight:lighter; " href="#" >Who We Are </a> |
<a href="#">Locations</a> |
<a href="#">Business Classifications</a> |
<a href="#">Contact Us</a> |
</span>
</li>
<!--Subnav Ends Here-->
<li><a href="../pages/services.aspx">Services <img alt="arrow" style="border: none; " src="../Images/arrow-down.gif" /></a>
<!--Subnav Starts Here-->
<span>
<a style="font-weight:lighter; " href="#" >Capabilities</a> |
</span>
<!--Subnav Ends Here-->
</li>
<li><a href="#">Customers <img style=" border: none; " src="../Images/arrow-down.gif" /></a>
<span>
<a style="font-weight:lighter; " href="#" >Subnav Link</a> |
<a href="#">Customer Locations</a> |
<a href="../pages/labs.aspx">Labs</a> |
</span>
</li>
<li><a href="#">Careers <img style=" border: none; " src="../Images/arrow-down.gif" /></a>
<!--Subnav Starts Here-->
<span>
<a style="font-weight:lighter; " href="#" >Joining the HX5 Team</a> |
<a href="#">Current Opportunities</a> |
</span>
</li>
</ul>
</div>
<div id="subnavbar" >
<!-- <asp:SiteMapPath ID="SiteMapPath" runat="server">
</asp:SiteMapPath> -->
</div>
<div id="topContent" style="border-bottom:solid 1px #191970;">
<table>
<tr><td style="height:30px; width:900px;" >
<asp:ContentPlaceHolder id="TopPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</div>
<!-- <div id="mainContent"> -->
<asp:ContentPlaceHolder id="MainPlaceHolder" runat="server" />
<!-- </div> -->
<!-- <div id="lowerContent"> -->
<asp:ContentPlaceHolder id="LowerPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
<!-- </div> -->
<div id="footerContent" style=" height:50px; width:900px; text-align: right; background-color: #ccc; ">
<span style=" font-family: Arial, Helvetica, sans-serif; font-size: xx-small; font-weight: bold; color: #000080; margin: 30px 20px 0px 0px;"> Copyright 2010 HX5, LLC All rights reserved</span></div>
</div>
</form>
</body>
</html>
i have 5 tabs in my master page application. how can i make 2nd tab as default?
View 9 RepliesI am using master pages and i want to benefit mywebsite with localization.
i created a baseclass below, then i used this class in my default.aspx and it worked fine. but how can i change the culture from site.master page then other pages should uinherit the culture. by doing the base class it is not exactly giving me what i want.
[Code]....
Imports System.Threading
I have 3 master pages with names master1.master, master2.master and master3.master and a webpage named as home.aspx how can i change my master pages to inherit with home.aspx using radio button linst.
View 3 RepliesI've got a web site that has a master page and that master page (mpMaster that has a user control ucControl1) which has a sub user control (ucControl2), this user control has a property which accepts a value. Now, I have a page that uses the master page
and on this page I have another user control (ucPageControl), I need to find a way of setting the value in ucControl2 from ucPageControl. Is this possible at all?
i'm developing a site using VS2010 and with my windows vista busniness OS. i used the default VS2010 wizard for new web application to create it. included a folder in the root directory and created new aspx pages to derive from the master page in the root directory of my site. everything shows on the new pages except the jpeg image logo in the master page. But other aspx pages i created in the root directory shows every thing fine.
View 1 RepliesCurrently I'm doing common functionality required throughout my site inside of my masterpage. What I want to do is move this functionality to a BaseClass so All my pages inherit from the Base Class. However, I'm not sure how to set this up interms of c# code with regards to Using a Base Class and then having a masterpage applied to my aspx pages that i create.
View 5 RepliesHow can we add titles to each content pages which inherits from mater pages in asp.net?
View 1 RepliesMy requirement was to share master files among diff projects i read this doc [URL] so i use this technique to share msster pages among my diff projects in a soln but i dnt know how to reference such shared master page as if i use such
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="../masterPages/masterInvGen.Master"
How do you implement SquishIt to bundle Css/Js across View Pages and Render it in the Master page? I thought I could use a ContentPlaceHolder above the Render portion, but there seems to be some odd behavior where it sometimes adds 3 files (1 in the view page and 2 in the master page) but other times will ignore the file added from the View Page.
Index.aspx
<asp:Content ContentPlaceHolderID="CssFiles" runat="server">
<% CssHelper.Add("home.css"); %>
</asp:Content>
Site.master
<asp:ContentPlaceHolder ID="CssFiles" runat="server" />
<% CssHelper.Add("reset.css"); %>
<% CssHelper.Add("master.css"); %>
<%=CssHelper.Render() %>
My current solution is a Static wrapper around SquishIt's static Bundle class that keeps the BundleBuilder in HttpContext.Current.Items.
I'm curious if this has been done successfully and how so.