Asp.net-Mvc-3

MVC3/Razor:cshtml.Execute()’:找不到合適的方法來覆蓋

  • May 4, 2017

我正在嘗試使用 RazorViewEngine 將 MVC2 站點轉換為 MVC3。

我使用這個工具來升級我的項目和Telerik 轉換器工具來將我的 .aspx 視圖轉換為 Razor。Telerik 工具@inherits在我的佈局頂部放置了一條線(繼承自 ViewMasterPage)。

當我嘗試執行使用其中一種佈局的頁面時,出現錯誤:

…cshtml.Execute(): 找不到合適的方法來覆蓋

我刪除了@inherits標籤,它開始在我的首頁上工作。但是,對於使用相同佈局的另一個頁面,我繼續收到此錯誤。現在,在移動了一些東西以處理區域問題之後,我又回到了我所有頁面的這個錯誤(無論如何我可以訪問的頁面)。

我試過關閉 Visual Studio、刪除臨時文件等。

想通了-以下部分需要在web.config剃須刀中-我web.configsViews目錄中,但不在root web.config

<system.web.webPages.razor>
   <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.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.Routing" />
     </namespaces>
   </pages>
 </system.web.webPages.razor>

引用自:https://stackoverflow.com/questions/4808640