尝试在浏览器中预览 ASPX 文件时出现解析器错误 and/or 编译器错误
Getting Parser error and/or Compiler error when trying to preview ASPX file in browser
我目前正在学习 ASP,我正在努力解决有关母版页继承的问题,它使我无法在浏览器中预览页面,VS 2017 的设计视图限制了我只是一个静态预览。我不是要你写完整的东西,但我无法理解我在哪里犯了错误,或者我所遵循的说明是否有错误。当我将它保留为 CodeBehind 时,我得到:
"Parser Error: BasePage' is not allowed here because it does not extend class 'System.Web.UI.Page"
如果我将其更改为 CodeFile,则会得到以下信息:
"Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl)."
这是Default.aspx最重要的事情
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPages/Frontend.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default.BasePage" %>
Default.aspx.cs 看起来像这样:
namespace website05
{
public partial class Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
{
{
另外 BasePage.cs 文件是这样的:
namespace website05
{
public class BasePage : System.Web.UI.Page
{
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;
}
}
}
对于格式不正确,我深表歉意,我在这里看到过类似的问题,但答案没有产生任何结果,我对此也很陌生,所以我很确定我之前可能误解了答案。
将带有命名空间的页面放在 .aspx 中的 inherts-属性 中,如 Inherits="website05.Default",不要在此处使用 BasePage。
我目前正在学习 ASP,我正在努力解决有关母版页继承的问题,它使我无法在浏览器中预览页面,VS 2017 的设计视图限制了我只是一个静态预览。我不是要你写完整的东西,但我无法理解我在哪里犯了错误,或者我所遵循的说明是否有错误。当我将它保留为 CodeBehind 时,我得到:
"Parser Error: BasePage' is not allowed here because it does not extend class 'System.Web.UI.Page"
如果我将其更改为 CodeFile,则会得到以下信息:
"Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl)."
这是Default.aspx最重要的事情
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPages/Frontend.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default.BasePage" %>
Default.aspx.cs 看起来像这样:
namespace website05
{
public partial class Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
{
{
另外 BasePage.cs 文件是这样的:
namespace website05
{
public class BasePage : System.Web.UI.Page
{
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;
}
}
}
对于格式不正确,我深表歉意,我在这里看到过类似的问题,但答案没有产生任何结果,我对此也很陌生,所以我很确定我之前可能误解了答案。
将带有命名空间的页面放在 .aspx 中的 inherts-属性 中,如 Inherits="website05.Default",不要在此处使用 BasePage。