Parser Error: '_Default' is not allowed here because it does not extend class 'System.Web.UI.Page' & MasterType declaration

后端 未结 10 1200
说谎
说谎 2020-12-09 07:22

I recently converted a website project to a web application project in Visual Studio 2008. I finally got it to compile, and the first page (the login screen) displayed as n

相关标签:
10条回答
  • 2020-12-09 08:11

    I had this issue, as I had copied a (fairly generic) webpage from one of my ASP.Net applications into a new application.

    I changed the relevant namespace commands, to reflect the new location of the file... but... I had forgotten to change the Inherits parameter in the aspx page itself.

    <%@ Page MasterPageFile="" StylesheetTheme="" Language="C#"
        AutoEventWireup="true" CodeBehind="MikesReports.aspx.cs" 
        Inherits="MikesCompany.MikesProject.MikesReports" %>
    

    Once I had changed the Inherits parameter, the error went away.

    0 讨论(0)
  • 2020-12-09 08:14

    I figured it out. The problem was that there were still some pages in the project that hadn't been converted to use "namespaces" as needed in a web application project. I guess I thought that it wouldn't compile if there were still any of those pages around, but if the page didn't reference anything from outside itself it didn't appear to squawk. So when it was saying that it didn't inherit from "System.Web.UI.Page" that was because it couldn't actually find the class "BasePage" at run time because the page itself was not in the WebApplication namespace. I went through all my pages one by one and made sure that they were properly added to the WebApplication namespace and now it not only compiles without issue, it also displays normally. yay!

    what a trial converting from website to web application project can be!

    0 讨论(0)
  • 2020-12-09 08:14

    For me I had all of the namespaces on the pages and none of the solutions above fixed it. My problem was in:

    <%@ Page Language="C#" 
    AutoEventWireup="true" 
    CodeBehind="xxx.aspx.cs" 
    Inherits="xxx.xxx.xxx" 
    MasterPageFile="~masterurl/default.master" %>
    

    Then in my aspx.cs file the namespace did not match the Inherits tag. So it needed

    namespace xxx.xxx.xxx
    

    In the .cs to match the Inherits.

    0 讨论(0)
  • 2020-12-09 08:14

    Remember.. inherits is case sensitive for C# (not so for vb.net)

    Found that out the hard way.

    0 讨论(0)
提交回复
热议问题