我在Asp.net MVC3上有三个网络项目:
Portal.Web - >通用控制器和模型
Portal.WebsiteCustom - >自定义网站1
Portal.WebsiteCustom2 - >自定义网站2
两个自定义网站都使用Portal.Web的控制器和模型。
现在我想在这个项目中添加公共视图,并设置MVC以查看Portal.Web项目的常见视图。
这可能吗?
我怎么能成就这个?
感谢。
答案 0 :(得分:1)
这可能吗?
是
我怎么能成就这个?
您必须将这些视图作为资源嵌入到程序集中,然后在客户端MVC项目中引用程序集。接下来,您必须编写一个自定义虚拟路径提供程序,该提供程序能够将这些视图检索为嵌入式资源,而不是在当前项目文件夹中查找它们,这是默认进程。
您可以使用允许Razor Generator package
的simplify the process
,因为它已经为您提供了您不需要手动编写的自定义虚拟提供程序。这是一个outdated article你也可以检查。
答案 1 :(得分:0)
您可以编写自己的实现IViewEngine
的视图引擎,它有一个方法可以查找在哪里搜索视图。您还可以扩展VirtualPathProviderViewEngine
并覆盖位置以添加自定义文件位置以查找视图。
此类内容的示例代码位于this Stack Overflow answer。