VS 2010 - Accessing CSS Class From Nested MasterPage
Sep 4, 2011
I'm changing the CSS of my menu items during runtime to reflect which page is currently being viewed. It works fine. But, I have a nested master page that needs to change the CSS of the master page's items. How I can access the master page's menu items?
I have a MasterPage (MasterPage.master) with 2 child MasterPages (specialMaster.master and standardMaster.master). From the MasterPage.master I need to get at some of the controls in one of the children, specialMaster.master, say for example to hide certain content if a session variable is not null.
In my masterpage, I have a menu that hosts an anchor. That anchor points to a another page and looks like this:
ASP.NET Code: <a href="../resources/techs/masterlist.aspx">BOMs & Service Manuals</a>
I used the designer to input the href location. This page and the "masterlist" page are using the same masterpage.
When I run default.aspx and click that link, it works no problem. But when I click that link from the masterlist page, it throws an exception because it can't find the file. Which makes sense, it's looking for "/resources/resources/techs/masterlist.aspx" because that page is already within that directory. I know how to format that link you point to itself no problem, but I can't figure out how to do it so that I don't have to manually change each page, nulling the purpose of the masterpage.
I'm accessing a Masterpage property from a regular page by doing the following:
[Code]....
I get the following error message:
Compiler Error Message: CS0246: The type or namespace name 'SecondMasterPage' could not be found (are you missing a using directive or an assembly reference?)
My base class file is a file called BaseClass.cs in my App_Code directory. Other functions in there work without errors. Why?
I have a solution with quite a few different MasterPages / BasePages which all inherit from somewhere else. My problem is that I have a virtual string in BaseMaster, which is overridden by BaseManagement, but when I try to access this string I always get the base valueThe point of inheriting masters and pages is obviously to avoid having duplicate code everywhere.
In my application, I use nested master pages. In the main.master which is the top level, all encompossing master page, I have some properties. I want to set the value of this property from a user control embedded into the page which is using master page which is embedded into main.master. To clarify further, here's the hierarchy
So I have a sitemaster page and I am getting header and footer controls from it. But for a perticular page I would like not to show the footer and just the header.
Therefore, I am trying to access the master page table control with id "footer".
What I have tried and they all didnt work. First I tried,
Dim ptrMaster As MasterPage = Page.Master ptrMaster.FindControl("footer").Visible = False
This gives me a null pointer error.
Then I tried to put in a accessor method on the site.master (masterpage) itself.
Public Sub HideFooter() Me.Controls("footer").Visible = False End Sub
But the problem here is when I create a masterpage object on the page that I would like to not show the footer. I cant see the method. So if I do
Dim ptrMaster As MasterPage = Page.Master ptrMaster.HideFooter() HideFooter doesnt show up as a method.
I am currently working on an application implementing custom localization features. I have created a number of web user controls for different activities on user designed pages. I wish make my webcontrols to check if the page using the control is a simple page or content page of a master page. In case of simple page we need to change page direction from ltl to rtl. In case of content page we need to change direction of master page.
I have a MasterPage in my project which it contains a FormView and the FormView is databound with a Connection String to a SQL DataBase.
This FormView is selecting users information from Database, when the ContentPage is loading, Im trying to get the information from the FormView of MasterPage and load them in Content Page, but it is not working fine for me.
For Example:
In MasterPage I have a FormView such as follow:
Name: Amir
LastName:Zandi
Username:amirzandi
In ContentPage, I have a Label and I want to get the name from MasterPage and replace it with the text of the Label.
I am doing this at PageLoad of Content Page with the Following Code:
[code]...
At the page load of ContentPage, it says that it could not find the FormView1
but after I refresh the page, it works fine.
is there anyway for me to ask the FormView in MasterPage to DataBind and After that, it retrieves the Data from FormView and place them into the ContentPage.
I also tried: fv.databind() but it is not working.
I have a main MasterPage that, as intended, forms the entire layout of my site. It has a bunch of methods common to all pages that use the mastertype, such as EnsureLoggedIn and such.
I want to move on to using nested masterpages to open up better layout options in some of the pages, but I am running into an issue. I get the layout of the nested masterpages fine, but I cannot access any methods in the parent masterpage.
I know my explanation seems a little sparse; I'm not exactly sure how to word what I'm looking for, heh. But here's a short example:
Situation:In Web.Config we have CustomErrors turned on with redirectMode="ResponseRewrite".In Page_Load of our MasterPage we access the Session property of the Page.
Problem:When an Error occurs on any page the user gets redirected (via Rewrite) to our Error.aspx Page. There in the Page_Load of the MasterPage we access the Session and get an HttpException telling us to enable SessionState. But we have the SessionState enabled, definitly.
Question:How can we access the session after a UrlRewrite in the Page_Load Event of our MasterPage?
I have a button on a masterpage, which when clicked, calls a method that takes an EventHandler previously saved to the viewstate, this method is on the client page, and executes it:
However, the value of TextBox2 is incorrect, it is the value of the text box that was set when the page loaded (or if any other item on the pages changes it), the new value is not passed.
If I add a button to the client page, that calls the Button2_Click event directly, it get's the correct value.
Is the reason I am not getting the correct value of the text box because the Event is called from the master page?
I should add, that this button is created dynamically, and the event delegate will vary, which is why I have to set it at run time. I need a way to set the delegate on a click, and persist this until it is changed again.
I'm embarrassed to ask this here because it's clearly been duplicated several times already on StackOverflow. I've read a lot of stuff including:
[URL]
I think I've done exactly what those article say, but it's not working for me.
Here's the top of my master page, named "MasterNoNews.master":
[code]....
In the first case, VS is telling me System.Web.Ui.MasterPage does not contain a definition for urrentUser. In the second case, VS says the type or namespace 'MasterNoNews' could not be found.
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?
When I began my first ASP.NET project, I didn't know about Masterpages, which was a pain. Because I had to manually change each and every link on all of my web pages. This was all mainly for the top menu and side menus.
But now that I'm using a master page, I think it's going to be much easier. But, I'm running into an issue.
When the user loads default.aspx, they see the following on the top menu.
Which is how I want it. But, what if they click one of the links? Before, I just updated that code to make the button of that page the active one. But, if they're all inheriting the same page, how do I commit this changes? I don't want to omit that part and manually change it on each page, because that would beat the entire purpose of doing this.
I also don't want to create another master page for each link. That would also beat the purpose.
I have a web site coded with VB + MS Access database (VS2010). I'm using one MasterPage to manage both public and users area. I'm facing loss of session variables when a user is logged in. I can't figure out what is wrong and I need your help, tips and tricks.
When a user is authenticated (thru the Login.aspx), I create a SessionID, store his credential in session and load user's page by Response.Redirect(~/users.aspx). Here is what I did:Code:
Dim MyLink As String = Session.SessionID & "other variables" Session("MyLink") = MyLink FormsAuthentication.RedirectFromLoginPage(TextBoxEmail.Text, False) Response.Redirect(~/users.aspx)
My logic is this: when the web site is launched, MasterPage + Default.aspx load. So Session("MyLink") is empty. If the user's credentials are correct, I create the session so that it can be available for MasterPage.
In the code behind of the MasterPage, I try to check (everytime a link is clicked/page requested) whether the user session (SessionID, credential in session) is available. If so, the user is still logged and get access to all the menu. If no session is available, it means the user is logged out or not logged in yet and few menu are shown. Here is the code
Dim MyLink As String = Session("MyLink")
If MyLink Is Nothing Then 'Only show MenuPublic [code]....
My default menu is:MenuPublic1, MenuPublic2, MenuPublic3
When a user is logged in, I add to the MenuPublic some reserved Users' menu like below. MenuPublic1, MenuPublic2, MenuPublic3, Menu_Users1, Menu_Users2, Menu_Users3
In local, everything works perfectly fine. Now after hosting my website, from time to time the MasterPage loss the Session variables. When it happens, the page still shows that the user is logged in by displaying Logout and Welcome Username beside it.
I have Page, MasterPage and UserControl in my project.
So I create basepage class and share some logic, then inherit from System.Web.UI.Page. My problem is I want use single basePage for any type of UI content.