Dap*_*anh 17 asp.net-mvc razor
我已经按照下面列出的步骤中的非常相似的帖子提供了答案.
我仍然有相同的错误消息"不从'System.Web.WebPages.WebPage'继承"
我正在学习John Papa在Pluralsight上的"单页应用程序HTML5,Web API,Knockout和jQuery".该课程概述了构建名为"Code Camper"的应用程序.示例MVC4 SPA创建一个名为"index.cshtml"的根视图.进行一系列@RenderPage调用.这个应用程序在我的开发机上运行良好.但是,如果我尝试从头开始创建一个带有根view.cshtml的MVC4 SPA我总是得到错误"不从'System.Web.WebPages.WebPage继承"
在这里下载.
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>
Run Code Online (Sandbox Code Playgroud)
3.添加了一个"〜/ Views/Partial1.cshtml",只有一个简单的div
<div>Hello from Partial 1</div>
Run Code Online (Sandbox Code Playgroud)
4.Modified root Web.Config webpages:启用为true.
<add key="webpages:Enabled" value="true" />
Run Code Online (Sandbox Code Playgroud)
5.将system.web.webPages.razor添加到root 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>
Run Code Online (Sandbox Code Playgroud)
6.将sectionGroup name ="system.web.webPages.razor"添加到root 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, 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>
Run Code Online (Sandbox Code Playgroud)
7.将RootView.cshtml设置为Start Page
8.运行并得到以下错误:"类型'ASP._Page_RootView_cshtml'不从'System.Web.WebPages.WebPage'继承.
我无法解决这个问题.Code Camper代码工作正常.我已逐行比较,并发现代码中没有任何差异会妨碍工作.
思考?担
ngm*_*ngm 23
web.config从Views文件夹中删除.
正如您Partial1.cshtml从该文件夹中包含的那样,它还包含来自其中的web.config.而web.config表示所有页面都必须从WebViewPage继承.
| 归档时间: |
|
| 查看次数: |
20721 次 |
| 最近记录: |