首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.Net MVC4根目录cshtml和“不从‘System.Web.WebPages.WebPage继承”

ASP.Net MVC4根目录cshtml和“不从‘System.Web.WebPages.WebPage继承”
EN

Stack Overflow用户
提问于 2013-01-18 23:38:45
回答 3查看 22.3K关注 0票数 17

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

我仍然有相同的错误信息“不从‘System.Web.WebPages.WebPage’继承”

概述

我正在学习John Papa在Pluralsight上的"Single Page Apps with HTML5,Web,Knockout and jQuery“。本课程概述了如何构建一个名为"Code Camper“的应用程序。示例MVC4 SPA创建了一个名为"index.cshtml“的根视图。其中进行了一系列@RenderPage调用。这个应用程序在我的开发机器上运行得很好。但是,如果我尝试从头开始创建具有根view.cshtml的MVC4 SPA,我总是得到错误"does not inherit from 'System.Web.WebPages.WebPage“。

循序渐进

下载here

1.创建一个名为"MVC4RootView“的新MVC4互联网项目

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

代码语言:javascript
复制
@{
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.仅使用简单的div添加了“~/Views/Partial1.cshtml”

代码语言:javascript
复制
<div>Hello from Partial 1</div>

4.修改根Web.Config网页:启用为true。

代码语言:javascript
复制
<add key="webpages:Enabled" value="true" />

5.向根Web.config添加system.web.webPages.razor

代码语言:javascript
复制
<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.将sectionGroup name="system.web.webPages.razor“添加到根web.config的configSections中

代码语言:javascript
复制
<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代码运行良好。我已经逐行进行了比较,没有发现代码中会妨碍工作的差异。

有什么想法?丹

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14402315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档