我遇到这个问题,自动生成视图(.cshtm文件)的类是从System.Web.WebPages.WebPage派生的 而不是System.Web.Mvc.WebViewPage。尽管在Views \ Web.config中明确定义了pageBaseType,如下所示
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
....
自动生成的类如下所示
public class _Page_Views_Home_MyHomeView_cshtml : System.Web.WebPages.WebPage {
以下是MyHomeView.cshtml的定义方式
@model string
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>MyHome
@Model
</title>
</head>
<body>
<div>
</div>
</body>
</html>
Root / Web.config文件为System.Web.Mvc添加条目,如下所示
<add assembly="System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
我无法理解为什么ASP.NET运行时从WebPage而不是WebViewPage派生自动生成的类。 我收到了错误
错误CS0103:名称&#39;型号&#39;在当前背景下不存在。
我认为这是由于我们的视图的基类不正确。 如果有人对此有任何想法,请建议。