Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 486
  • Last Modified:

How can you have a MasterPage inherit a BasePage?

Hi,

I'm fresh to .NET 2.0 (started today) so please be patient with me! :) .

I have a masterpage and have completed the layout.
I created a BasePage and have set some variables.
I have a content (default.aspx) page and its inheriting from the BasePage.

The content page can read the variables from the BasePage.
The MasterPage cannot read the values: "CS0103: The name 'config__path_js' does not exist in the current context".

How can I get the masterpage to inherit from BasePage? I've been looking on the net and apparently you can't but there must be a way to achieve this.

In general, I want to have one file that contains variables which is fed from an XML file.
I want to be able to access these variables from Masterpage, content pages and user controls.

How can I do this?
App_Code/BasePage.cs
~~~~~~~~~~~~~~~~~~~~
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
 
/// <summary>
/// This BasePage is used to have content pages inherit these variables
/// </summary>
public class BasePage : System.Web.UI.Page
{
 
    public String config__path_root;
    public String config__path_img;
    public String config__path_swf;
    public String config__path_flv;
    public String config__path_css;
    public String config__path_js;
    public String config__path_pdf;
 
    protected override void OnInit(EventArgs e)
   {
       XmlDocument doc = new XmlDocument();
       doc.Load(Server.MapPath("~/config.xml"));
       XmlNode root = doc.DocumentElement;
 
       config__path_root = root.SelectSingleNode("path_root").ChildNodes[0].Value;
       config__path_img = root.SelectSingleNode("path_img").ChildNodes[0].Value;
       config__path_swf = root.SelectSingleNode("path_swf").ChildNodes[0].Value;
       config__path_flv = root.SelectSingleNode("path_flv").ChildNodes[0].Value;
       config__path_css = root.SelectSingleNode("path_css").ChildNodes[0].Value;
       config__path_js = root.SelectSingleNode("path_js").ChildNodes[0].Value;
       config__path_pdf = root.SelectSingleNode("path_pdf").ChildNodes[0].Value;
   }
 
}
 
 
 
Default.aspx.cs
~~~~~~~~~~~~~
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
public partial class _Default : BasePage 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
}
 
 
 
MasterPage.master.cs
~~~~~~~~~~~~~~~~~~
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
}

Open in new window

0
bloodtrain
Asked:
bloodtrain
1 Solution
 
williamcampbellCommented:
You don't have to inherit you could make the variables static

    public static String config__path_root;
    public static String config__path_img;

 
   Then access them

    BasePage.config__path_root;

  Also the usual way to store config variables is in web.config using ConfigurationManager

  Take a look at that it offers global access to config variables.
0
 
bloodtrainAuthor Commented:
Thanks williamcampbell for your reply. I didn't want to use the web.config because I need to use some programming logic as well when declaring the variables. This seems to work great so thanks a lot!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now