【问题标题】:The view must derive from WebViewPage视图必须派生自 WebViewPage
【发布时间】:2013-09-06 23:50:54
【问题描述】:

当我决定是时候进行一些维护时,我有一个工作的 MVC 应用程序。 我的视图都在 SHARED 目录下,我决定将它们移动到单独的目录中。

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

视图结构看起来像这样

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

【问题讨论】:

  • 您的web.config 都包含在项目中,对吗? (一个在 Views 下,另一个在 Root 下)
  • 是的,他们是。我没有碰过它们。
  • 还有一个 SO 问题可能对您有所帮助:stackoverflow.com/questions/8127462/…
  • @QuetiM.Porta 如果您一直阅读该问题,您会看到我引用了该问题。谢谢
  • @gumenimeda 通常当我遇到这个问题时,它与我的配置文件有关。除此之外,我从来没有遇到过这个错误......祝你好运

标签: c# .net asp.net-mvc razor


【解决方案1】:

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

文档:

【讨论】:

    猜你喜欢
    • 2011-12-28
    • 2013-06-05
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 2011-09-23
    相关资源
    最近更新 更多