【问题标题】:ASP.NET MVC Error: Page is not allowed here because it does not extend class 'System.Web.Page'ASP.NET MVC 错误:此处不允许页面,因为它没有扩展类“System.Web.Page”
【发布时间】:2008-12-19 13:46:11
【问题描述】:

我有一个新的 ASP.NET MVC 项目(我的第一个项目),我在 1 个控制器、视图和模型上运行良好。添加新控制器和视图后,当我尝试运行项目时,我的第一个视图开始抛出此错误消息:

描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

Parser Error Message: 'PeopleManagement.Web.Views.Search.Search' is not allowed here because it does not extend class 'System.Web.UI.Page'.

Source Error: 


Line 1:  <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Master.Master" AutoEventWireup="true" CodeBehind="Search.aspx.cs" Inherits="PeopleManagement.Web.Views.Search.Search" %>
Line 2:  <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
Line 3:  </asp:Content>

这是我为那个 aspx 页面编写的代码背后的全部内容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;


namespace PeopleManagement.Web.Views.Search
{
    public partial class Search : ViewPage
    {
    }
}

我不确定我的应用发生了什么变化导致了这种情况。看起来 VS 可能会将其作为 Web 表单应用程序而不是 MVC 应用程序来阅读?关于我应该从哪里开始排除故障的任何想法?

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    我以前也遇到过这种情况。无法解释。我最终通过再次创建并复制和粘贴标记来重建第一个视图。也可以尝试关闭 VS 并重新启动。

    【讨论】:

    • 我就是这么做的,现在它可以工作了。没有解释为什么。
    • 同样的问题,没想到这个解决方案能奏效,但它确实奏效了!事实上我只需要关闭并重新启动工作室然后重新编译。
    【解决方案2】:

    我以前也遇到过这种情况。当我将 .aspx 文件添加到项目后更改它的名称时,就会发生这种情况。更改 .aspx 文件的名称会自动更改 .axpx.cs 和 .axpx.designer.cs 文件的名称,但不会更改 .aspx.cs 文件中原始名称的任何实例。您必须进入并手动更改。我使用的是 VS 2005,所以新版本可能会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      相关资源
      最近更新 更多