asp.net-mvc – 在MVC 6中从DB渲染视图
发布时间:2020-12-16 03:45:25 所属栏目:asp.Net 来源:网络整理
导读:我们正在开发ASP.NET MVC 6项目,并且有必要从文件系统源以外的地方呈现Razor视图(特别是Azure Blob存储,但这并不重要). 之前(在MVC 5中)可以创建和注册自定义VirtualPathProvider,它可以从DB或资源DLL中获取视图内容(例如). 似乎MVC 6中的方法已经改变了.有
我们正在开发ASP.NET MVC 6项目,并且有必要从文件系统源以外的地方呈现Razor视图(特别是Azure Blob存储,但这并不重要).
之前(在MVC 5中)可以创建和注册自定义VirtualPathProvider,它可以从DB或资源DLL中获取视图内容(例如). 似乎MVC 6中的方法已经改变了.有人知道在哪里寻找吗? UPD: public IActionResult Index() { ViewBag.Test = "Hello world!!!"; string htmlContent = "<html><head><title>Test page</title><body>@ViewBag.Test</body></html>"; return GetViewFromString(htmlContent); } 问题是:如何实现GetViewFromString函数? 解决方法
您需要配置ViewLocationExpander:
services.SetupOptions<RazorViewEngineOptions>(options => { var expander = new LanguageViewLocationExpander( context => context.HttpContext.Request.Query["language"]); options.ViewLocationExpanders.Insert(0,expander); }); 这是LanguageViewLocationExpander的实现: 将AzureBlobLocationExpander放在那个上面应该会让你走在正确的轨道上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 编辑GridView中一列的所有行
- asp.net-mvc – 在Razor中输出单引号生成的JavaScript字符串
- asp.net – 在同一个域上的两个网站之间共享cookie
- ASP.NET FileUpload Control – 缓冲到磁盘时的安全问题
- 如何在ASP.NET中提供resx文件?
- ASP.NET中的Membership,MembershipProvider和MembershipUse
- 为什么每个人都在ASP.NET Webforms中依赖注入是困难的,当Pa
- asp.net-mvc-3 – MVC3重定向到ajax调用后的动作
- asp.net-mvc-3 – 如何在WebGrid中隐藏列?
- 如何使用ASP.net Web API和Javascript下载二进制文件?