在 ASP.NET MVC Web 应用程序中包含预编译的视图
Posted
技术标签:
【中文标题】在 ASP.NET MVC Web 应用程序中包含预编译的视图【英文标题】:Including Pre-Compiled Views in an ASP.NET MVC Web Application 【发布时间】:2012-11-27 12:30:17 【问题描述】:Reference
请参阅上面的博客。我正在尝试在 MVC 3 中创建用户控件的类库。 参考上面的博客,我在其中创建了类库写入视图。 但问题是如何在我的消费者应用程序中将该视图注册为部分视图。 在 nuget 中找不到 PrecompiledMvcEngine。它将在 asp.net MVC 应用程序中注册预编译视图。
举个例子怎么做?
【问题讨论】:
【参考方案1】:基本上你需要注册一个虚拟路径提供者
-
您必须在 Global.asax Application_Start 处理程序中注册一个 VirtualPathProvider。
您必须使用特殊路径调用 DLL 中的视图,如下所示:
return View("~/foldernameofdlllocation/nameofdll.dll/nameofview.cshtml");
为了帮助追踪您在 dll 中的视图位置,请使用反射器或 Telerik 的 JustDecopile(免费)。
这篇博文可能对您有用:
http://www.wynia.org/wordpress/2008/12/aspnet-mvc-plugins/
这个问题也可能有用:
Using VirtualPathProvider to load ASP.NET MVC views from DLLs
博文中的代码示例:
http://www.wynia.org/download/aspnetmvc-plugin-poc/POC.MVCPluginDemo.zip
【讨论】:
以上是关于在 ASP.NET MVC Web 应用程序中包含预编译的视图的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC jQuery 自动完成与页面中包含的脚本中的 url.action 助手
在 ASP.NET MVC Html.ActionLink 中包含锚标记
如何使用 .Net 4.0 中包含的 HttpClient 类将文件上传到在 IIS Express 中运行的 Asp.Net MVC 4.0 操作
ASP.NET MVC:在 App_Code 中包含扩展方法的文件必须具有构建操作“无”吗?