ASP.NET运行时从WebPage而不是WebViewPage派生视图(.cshtml)的自动生成的类

时间:2014-12-17 08:08:51

标签: asp.net asp.net-mvc razor view

我遇到这个问题,自动生成视图(.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;在当前背景下不存在。

我认为这是由于我们的视图的基类不正确。  如果有人对此有任何想法,请建议。

0 个答案:

没有答案