【发布时间】:2011-01-06 15:25:56
【问题描述】:
我正在使用 VirtualPathProvider 来提供主题视图。
在操作方法中我想通过路径返回一个视图
return View("~/Themes/SomeTheme.dll/Views/Content/Item.cshtml");
在 Visual Studio 中,Item.cshtml 有一个构建操作“嵌入式资源”。
VirtualPathProvider 找到了那个 .cshtml 文件,但我得到一个错误
The view at '~/Themes/SomeTheme.dll/Views/Content/Item.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
我想我必须编译那个视图,我已经关注了these instructions。
现在 VirtualPathProvider 找不到 Item.cshtml,因为它不再是嵌入式资源。
我该如何解决这个问题?我无法添加对该 SomeTheme.dll 的引用,因为激活的主题是在应用程序启动时动态加载的。
我以前用 aspx 文件做过这个,那些不需要编译。它们作为嵌入式资源开箱即用。
【问题讨论】:
-
抱歉,回复晚了,没有收到这个问题。您是否设法让编译后的视图现在运行?如果您使用的是编译版本,则不应在路径中使用 dll 名称。
-
我设法用不同的方法让它工作。写了一篇关于它的博文mikakolari.fi/blogi/…
-
Mika,指向您博客的链接似乎不再有效。你可以在这里发布解决方案吗?我在编译 Razor 视图时遇到了同样的问题。
-
我把它重新上线了,但我必须说有一些神秘的问题。我会采取不同的方法。
标签: asp.net-mvc razor