当我决定该进行一些维护时,我有了一个正在运行的MVC应用程序。
我的 View 都在SHARED目录下,因此我决定将它们移到单独的目录中。

我实现了在这里找到的CustomViewEngine:
Can I specify a custom location to "search for views" in ASP.NET MVC?

View 结构看起来像这样

Views
    AppViews
    OtherAppViews
    ...
    Shared
    ...

这是我得到的错误:
The view at '~/Views/AppViews/SomeView.cshtml' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
我尝试从@inherits System.Web.Mvc.WebViewPage继承(如此处解释:The view must derive from WebViewPage, or WebViewPage<TModel>),但是当我这样做时,出现一个错误,提示我不能同时使用@inherits@model

最佳答案

由于您使用.cshtml文件(Razor引擎),因此CustomEngine应该派生自RazorViewEngine而不是WebFormViewEngine

文件:

  • RazorViewEngine
  • WebFormViewEngine
  • 关于c# - 该 View 必须派生自WebViewPage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18597460/

    10-09 20:01