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