4

在 ASP.NET MVC Web 应用程序中包含预编译的视图

参考

请参阅上面的博客。我正在尝试在 MVC 3 中创建用户控件的类库。参考上面的博客,我已经在其中创建了类库写入视图。但问题是如何在我的消费者应用程序中将该视图注册为部分视图。在 nuget 中找不到 PrecompiledMvc​​Engine。它将在 asp.net MVC 应用程序中注册预编译视图。

给我一个例子怎么做?

4

1 回答 1

4

基本上你需要注册一个虚拟路径提供者

  1. 您必须在 Global.asax Application_Start 处理程序中注册一个 VirtualPathProvider。
  2. 您必须使用特殊路径调用 DLL 中的视图,如下所示: return View("~/foldernameofdlllocation/nameofdll.dll/nameofview.cshtml");

为了帮助追踪您的视图在 dll 中的位置,请使用反射器或 Telerik 的 JustDecopile(免费)之类的东西。

这篇博文可能对您有用:

http://www.wynia.org/wordpress/2008/12/aspnet-mvc-plugins/

这个问题也可能有用:

使用 VirtualPathProvider 从 DLL 加载 ASP.NET MVC 视图

博客文章中的代码示例:

http://www.wynia.org/download/aspnetmvc-plugin-poc/POC.MVCPluginDemo.zip

于 2012-11-27T12:43:13.083 回答