 |
BOOK: Beginning ASP.NET 4.5 : in C# and VB
 | This is the forum to discuss the Wrox book Beginning ASP.NET 4.5: in C# and VB by Imar Spaanjaars; ISBN: 978-1-118-31180-6 |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the BOOK: Beginning ASP.NET 4.5 : in C# and VB section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|
|
|

March 9th, 2015, 12:50 PM
|
|
Registered User
|
|
Join Date: Mar 2015
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Chapter 6 BasePage
Hi. I'm currently trying to design a website using a basepage but I am running into a problem when I upload it to a server.
CS0246: The type or namespace name 'BasePage' could not be found (are you missing a using directive or an assembly reference?)
I'm trying to have my index(home page) inherit from basepage. The code I used to make that happen is seen below
-Index Page Code-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Index : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
-Base Page Code-
using System;
using System.Web;
public class BasePage : System.Web.UI.Page
{
private void Page_PreInit(object send, EventArgs e)
{
HttpCookie preferredTheme = Request.Cookies.Get("PreferredTheme");
if (preferredTheme != null)
{
string folder = Server.MapPath("~/App_Themes/" + preferredTheme.Value);
{
Page.Theme = preferredTheme.Value;
}
}
}
private void Page_PreRender(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.Title) || this.Title.Equals("Untitled Page",
StringComparison.CurrentCultureIgnoreCase))
{
throw new Exception(
"Page title cannot be \"Untitled Page\" or an empty string.");
}
}
public BasePage()
{
this.PreRender += Page_PreRender;
this.PreInit += Page_PreInit;
}
}
What is the problem because I have no idea?
EDIT:My basepage.cs is in App_Code folder btw
|
|

March 9th, 2015, 03:11 PM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
Hi there,
Is your site in the root of the server? If not, and it's in a sub folder, it may not be looking in the correct App_Code folder.
Cheers,
Imar
|
|

March 9th, 2015, 03:57 PM
|
|
Registered User
|
|
Join Date: Mar 2015
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
That is indeed the case. What change need to be made to the code to make sure its looking at the right app-code folder then? (I'm not in charge of the server so I can make no changes on that end)
|
|

March 10th, 2015, 04:39 PM
|
|
Registered User
|
|
Join Date: Mar 2015
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Does anyone know what change i need to make basepage work?(again no access to the server side of things)
Reposted code with correct tags.
index page code
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Index : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
basepage code
Code:
using System;
using System.Web;
public class BasePage : System.Web.UI.Page
{
private void Page_PreInit(object send, EventArgs e)
{
HttpCookie preferredTheme = Request.Cookies.Get("PreferredTheme");
if (preferredTheme != null)
{
string folder = Server.MapPath("~/App_Themes/" + preferredTheme.Value);
{
Page.Theme = preferredTheme.Value;
}
}
}
private void Page_PreRender(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.Title) || this.Title.Equals("Untitled Page",
StringComparison.CurrentCultureIgnoreCase))
{
throw new Exception(
"Page title cannot be \"Untitled Page\" or an empty string.");
}
}
public BasePage()
{
this.PreRender += Page_PreRender;
this.PreInit += Page_PreInit;
}
}
|
|

March 11th, 2015, 11:10 AM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
Hi there,
There's not much you can do. App_Code needs to be in the root of the application. That means either at the server level (e.g.: www.yourdomain.com/App_Code) or at the application level (e.g. www.yourdomain.com/AppName/App_Code). In the latter case, AppName needs to be configured as a separate application (and not just a folder) in IIS the web server, which needs to be done by an administrator on the serve.
Maybe you can ask your host to configure this for you?
Imar
|
|

March 11th, 2015, 03:25 PM
|
|
Registered User
|
|
Join Date: Mar 2015
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Ok I'll try. Is their a way to set-up a page to be able to switch themes with a dropdownlist without using basepage. If their is I can do that instead.
|
|

March 11th, 2015, 04:22 PM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
You could set the theme in each page individually. Or you could try to set it in the Master Page as that would apply it to all pages that use that master.
But I would recommend trying to get a better hosting setup, as you'll run into lots of other issues if you can't use the App_Code or Bin folders.
Cheers,
Imar
|
|

March 30th, 2015, 01:38 AM
|
|
Registered User
|
|
Join Date: Mar 2015
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
[UPDATE]My instructor has been working on resolving this issue server side and while he has fixed the basepage issue(at least as far I know he has) a new problem is now present.
The file '/MasterPages/Frontend.master' does not exist.
Code:
<%@ Page Title="main" Language="C#" MasterPageFile="~/MasterPages/Frontend.master" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %>
It is in a folder called MasterPages and is titled Frontend.master. I wanted to ask if this was still a problem with the server or if this is something I could fix on my end?
Also I noticed this on the error page:
Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34237
That is not version 4.5 right? If its not could that be whats causing all the problems?
|
|

April 4th, 2015, 04:04 AM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
Hi there,
It sounds like the same issue: an incorrect folder structure where your site is either not in the root of the server, or it's not marked as an application in IIS so it has its own root. Can you provide more details about your site's structure, the URL you use and the way the server has been configured?
>> That is not version 4.5 right?
It could be. The .NET Famework 4.5 uses the .NET runtime 4.0; you see the latter version number here.
Cheers,
Imar
|
|
 |
|