asp.net mvc - 初始GET工作,后续请求导致“视图必须从ViewPage派生,...”错误

时间:2013-09-26 17:36:54

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

我有一个包含GET请求子集的构建,这些请求在一个环境中工作但在另一个环境中不工作。甚至更奇怪,他们确实在初始请求时工作,但在所有后续请求中都会出现问题。返回的错误是这个badboy:

The view at '..' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.

似乎几乎可以肯定的是,彼此踩在一起,但我不能把头缠在上面。在构建之间,bin程序集(反过来,引用了System.Web.Mvc)发生了变化,但这并没有解释为什么一个环境可以工作但另一个环境不工作。我也没有看到太多的GAC差异。

我并没有具体询问这个错误(它通常与不同步的System.Web.Mvc程序集有关),而是更多关于我所看到的奇怪行为。

为什么初始请求会成功,但后续请求会因上述错误而失败?

有没有其他人看到与此类似的行为?

1 个答案:

答案 0 :(得分:0)

因此,基于您的回答,我假设您编写的用于自定义ViewEngine的任何类都不是从ViewPage类继承它应该的。如果您编写了自定义的实现,那么在强类型视图的情况下,此类必须从ViewPage和ViewPage继承。有关更多信息,请查看Phil Haack的这篇文章:

http://haacked.com/archive/2011/02/21/changing-base-type-of-a-razor-view.aspx

另请查看有关完全相同问题的帖子:

Getting the error "The view at '~/Views/Page/home.aspx' must derive from ViewPage, ViewPage<TViewData>, ViewUserControl, or ViewUserControl<TViewData>"

相关问题