如何从类库项目加载视图?我尝试创建一个VirtualPathProvider并将视图设置为嵌入式资源。类AssemblyResourceVirtualFile:VirtualFile{字符串路径;publicAssemblyResourceVirtualFile(stringvirtualPath):base(virtualPath){path=VirtualPathUtility.ToAppRelative(virtualPath);}publicoverrideSystem.IO.StreamOpen(){string[]parts=path.Split('/');字符串组件名称=零件[2];字符串资源名称=零件[3];assemblyName=Path.Combine(HttpRuntime.BinDirectory,assemblyName);varassembly=Assembly.LoadFile(assemblyName);如果(程序集!=null){returnassembly.GetManifestResourceStream(resourceName);}返回空值;}}和publicclassAssemblyResourceProvider:System.Web.Hosting.VirtualPathProvider{publicAssemblyResourceProvider(){}privateboolIsAppResourcePath(stringvirtualPath){StringcheckPath=VirtualPathUtility.ToAppRelative(virtualPath);返回checkPath.StartsWith("~/App_Resource/",StringComparison.InvariantCultureIgnoreCase);}publicoverrideboolFileExists(stringvirtualPath){return(IsAppResourcePath(虚拟路径)||base.FileExists(virtualPath));}publicoverrideVirtualFileGetFile(stringvirtualPath){if(IsAppResourcePath(virtualPath))returnnewAssemblyResourceVirtualFile(virtualPath);否则返回base.GetFile(virtualPath);}publicoverrideCacheDependencyGetCacheDependency(stringvirtualPath,IEnumerablevirtualPathDependencies,DateTimeutcStart){if(IsAppResourcePath(virtualPath))returnnull;否则返回base.GetCacheDependency(virtualPath,virtualPathDependencies,utcStart}tmycontroller(View"~resource}t/App);Blog.DLL/Blog.Views.Blog.Latest.cshtml");它确实找到了视图,但我最终遇到了这个错误:...view.cshtml'mustderivefromWebViewPageorWebViewPagewhentryingtodisplayapartialviewwith:@{Html.RenderAction("Latest","Blog");有办法解决这个问题吗?或者是否有更简单的方法来存储DLL的视图?发生这种情况的原因是因为您现在从未知位置提供剃刀视图,并且标准~/views/web.config不再适用。因此,您可以在自定义视图中放置一个@inheritsSystem.Web.Mvc.WebViewPage,但这可能非常麻烦。您可以查看以下文章。以上就是C#学习教程:如何从类库项目中加载视图?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
