微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – ASP.Net MVC4根cshtml和“不继承’System.Web.WebPages.WebPage”

我已经按照下面列出的一步一步看到的非常相似的帖子提供的答案。

> Razor view Type does not inherit from ‘System.Web.WebPages.WebPage’
> http://iamdotnetcrazy.blogspot.com/2012/08/how-to-solve-type-asppageviewstartcshtm.html

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

概观

我正在学习John Papa在“Pluralsight”上的“使用HTML5的单页应用程序,Web API,Knockout和jQuery”。该课程概述了构建一个名为“Code Camper”的应用程序。示例MVC4 SPA创建一个名为“index.cshtml”的根视图。在那里进行一系列@RenderPage调用。这个应用程序在我的开发机器上运行正常。但是,如果我尝试从头创建一个MVC4 SPA与根view.cshtml我总是得到错误“不继承’System.Web.WebPages.WebPage”

一步步

下载here

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

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

@{
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.修改根Web.Config网页:启用为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.添加sectionGroup name =“system.web.webPages.razor”到根web.config的configSections

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

将RootView.cshtml设置为起始页

8.运行并收到以下错误:“键入”ASP._Page_RootView_cshtml“不会继承自”System.Web.WebPages.WebPage“。

我失去了如何解决这个问题。代码露营地代码工作正常。我已经逐行比较,看到代码中没有区别,这将阻止工作。

思考?

解决方法

从您的Views文件夹中删除web.config

当你包含该文件夹中的Partial1.cshtml时,它也包括在那里的web.config。而web.config表示所有页面都必须继承自WebViewPage。

原文地址:https://www.jb51.cc/aspnet/252292.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐