asp.net核心 – 渲染Razor视图到ASP.NET核心的字符串
我使用
RazorEngine来解析我的MVC 6项目中的模板,如下所示:
Engine.Razor.RunCompile(File.ReadAllText(fullTemplateFilePath),templateName,null,model); 它适用于beta 6.它在升级到beta 7后出现错误:
这是global.json: { "projects": [ "src","test" ],"sdk": { "version": "1.0.0-beta7","runtime": "clr","architecture": "x64" } } 这是project.json: ... "dependencies": { "EntityFramework.SqlServer": "7.0.0-beta7","EntityFramework.Commands": "7.0.0-beta7","Microsoft.AspNet.Mvc": "6.0.0-beta7","Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7","Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7","Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7","Microsoft.AspNet.Authentication.Google": "1.0.0-beta7","Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7","Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7","Microsoft.AspNet.Diagnostics": "1.0.0-beta7","Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7","Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7","Microsoft.AspNet.Server.IIS": "1.0.0-beta7","Microsoft.AspNet.Server.WebListener": "1.0.0-beta7","Microsoft.AspNet.StaticFiles": "1.0.0-beta7","Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7","Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7","Microsoft.Framework.Configuration.Json": "1.0.0-beta7","Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7","Microsoft.Framework.Logging": "1.0.0-beta7","Microsoft.Framework.Logging.Console": "1.0.0-beta7","Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7","RazorEngine": "4.2.2-beta1" },... "frameworks": { "dnx451": { } },... 我的模板是: @model dynamic @{ Layout = null; } <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>Registration</title> </head> <body> <p> Hello,@Model </p> </body> </html> 有人有类似的问题吗? 解决方法
2016年7月更新
在以下版本1.0.0,RC2上工作正常 谁的目标是aspnetcore RC2,此代码段可能会帮助您: >创建一个单独的服务,所以你可以使用它,如果你不在控制器上下文,例如从命令行或队列转轮等… https://gist.github.com/ahmad-moussawi/1643d703c11699a6a4046e57247b4d09 用法 // using a Model string html = view.Render("Emails/Test",new Product("Apple")); // using a Dictionary<string,object> var viewData = new Dictionary<string,object>(); viewData["Name"] = "123456"; string html = view.Render("Emails/Test",viewData); 笔记 Razor中的链接被渲染为相对URL,因此这对于外部视图(如电子邮件等)不起作用. 至于现在,我正在生成控制器上的链接,并通过ViewModel将其传递给视图. 信用 来源是从(感谢@pholly)提取:https://github.com/aspnet/Entropy/blob/dev/samples/Mvc.RenderViewToString/RazorViewToStringRenderer.cs) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 为什么人们在MVC中使用Web API控制器
- asp.net – 如何在vNext项目中的方法上应用OutputCache属性
- asp.net-core-mvc – 我是否需要在Visual Studio 2017 ASP.
- asp.net-mvc – 如何将ASP.Net MVC路径段中的1或0映射到布尔
- asp-classic – ADODB.Field错误’800a0bcd’
- asp.net – Paypal自适应支付返回网址是两次调用
- asp.net-mvc-3 – 在MVC 3实体框架中添加多个到多个链接表的
- asp.net – 使用listview进行LINQ和分页
- asp.net-mvc – 传递IEnumerable变量以在ASP.NET MVC中查看
- asp.net-mvc-3 – 无效的匿名类型成员声明符 必须使用成员分