gpt4 book ai didi

asp.net-mvc - ASP.Net MVC4 根 cshtml 和 "does not inherit from ' System.Web.WebPages.WebPage”

转载 作者:行者123 更新时间:2023-12-03 04:04:50 25 4
gpt4 key购买 nike

我遵循了非常相似的帖子提供的答案,您将在下面列出的逐步步骤中看到。

我仍然有相同的错误消息“不继承自'System.Web.WebPages.WebPage'”

概述

我正在 Pluralsight 上学习 John Papa 的“使用 HTML5、Web API、Knockout 和 jQuery 的单页应用程序”。该类(class)概述了构建一个名为“Code Camper”的应用程序。示例 MVC4 SPA 创建一个名为“index.cshtml”的 Root View 。其中进行了一系列 @RenderPage 调用。该应用程序在我的开发机器上运行良好。但是,如果我尝试从头开始创建带有根 view.cshtml 的 MVC4 SPA,我总是会收到错误“不继承自 'System.Web.WebPages.WebPage”

一步一步

下载here .

1.创建一个名为“MVC4RootView”的新 MVC4 Internet 项目

2.在项目的根目录中,创建一个RootView.cshtml View 。

@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@RenderPage("Views/Partial1.cshtml")
</div>
</body>
</html>

3.添加了一个“~/Views/Partial1.cshtml”,其中只有一个简单的div

<div>Hello from Partial 1</div>

4.修改root Web.Config网页:Enabled为true。

<add key="webpages:Enabled" value="true" />

5.将system.web.webPages.razor添加到根Web.config

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

6.在根web.config的configSections中添加了sectionGroup name="system.web.webPages.razor"

<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

7.设置RootView.cshtml作为起始页

8.运行并收到以下错误:“类型 'ASP._Page_RootView_cshtml' 未继承自 'System.Web.WebPages.WebPage'。

我不知道如何解决这个问题。 Code Camper 代码运行良好。我逐行比较,发现代码中没有任何差异会阻止工作。

想法?丹

最佳答案

Views 文件夹中删除 web.config

当您从该文件夹中包含 Partial1.cshtml 时,它还包含其中的 web.config。 web.config 表示所有页面都必须继承自 WebViewPage。

关于asp.net-mvc - ASP.Net MVC4 根 cshtml 和 "does not inherit from ' System.Web.WebPages.WebPage”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com