该视图必须从WebViewPage或WebViewPage< TModel>派生. [英] The view must derive from WebViewPage, or WebViewPage<TModel>

查看:236
本文介绍了该视图必须从WebViewPage或WebViewPage< TModel>派生.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在关注 Justin Slattery的插件架构教程并尝试使其适应Razor,而不是WebForm视图.

I'm following Justin Slattery's Plugin Architecture tutorial and trying to adapt it for Razor, instead of WebForm Views.

其他一切(控制器,插件程序集加载等)似乎都还可以.但是,我无法使嵌入式Razor视图正常工作.当我尝试浏览到"HelloWorld/Index"时,出现以下错误:

Everything else (controllers, plugin assembly loading, etc) seems to be okay. However, I'm not able to get embedded Razor views to work properly. When I try to browse to the "HelloWorld/Index", I get the following error:

The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage<TModel>.

System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +262

如果需要,我可以包括完整的堆栈跟踪.

I can include the complete stack trace, if needed.

有人可以告诉我我可能做错了什么吗?

Can anyone advise as to what I might be doing wrong?

推荐答案

您可以签出

You may checkout the following blog post which is more adapted to Razor.

但是要回答您的问题,由于您现在是从非标准位置提供视图,因此不再有适用的~/Views/web.config文件,该文件允许您指定剃刀视图的基本类型.因此,您可能需要在每个剃刀视图的顶部添加以下内容:

But to answer your question, since you are now serving your views from a non standard location there is no longer the ~/Views/web.config file that applies and allows you to specify the base type for your razor views. So you might need to add the following on the top of each razor view:

@inherits System.Web.Mvc.WebViewPage
@model ...

这篇关于该视图必须从WebViewPage或WebViewPage&lt; TModel&gt;派生.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆