1. 程式人生 > >does not inherit from 'System.Web.WebPages.WebPage'問題

does not inherit from 'System.Web.WebPages.WebPage'問題

  • 先說解決辦法(不保證可行)

將對應的web.config中的

替換成

<system.web.webPages.razor>
    <host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.WebPages.WebPage">
      <namespaces>
        <add namespace="System.Web.Configuration" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

*替換後不能使用ViewBag

  • 問題猜想(有錯請指教)

這個問題是出現在webapi和mvc共存的專案中。

通過msdn可知:

 

而IViewDataContainer介面下只有一個ViewData屬性,

猜測是webapi的限制導致cshtml沒有實現該介面導致繼承錯誤,也導致了不能使用ViewBag、ViewData