【发布时间】:2013-05-05 06:18:15
【问题描述】:
我知道这看起来像是一个重复的问题,但请在将其标记为重复之前阅读整个问题。
首先,我是 simulating the windows service in my ASP web application 发送每周电子邮件,所以在 Global.asax 我正在运行我的函数来发送电子邮件。
现在电子邮件内容是 HTML 格式,我想渲染视图以获取内容。问题是在我的函数中,我没有以下任何内容:
ControllerControllerContextHttpContextRoutData- ... 以及更多。这是有道理的,因为该函数是作为回调而不是作为 HTTP 请求操作调用的。
我尝试使用RazorEngine 通过读取文件然后使用Razor.Parse() 方法将部分用作模板。但是我在这种方法中遇到了很多问题,因为模板中没有包含任何内容。我的意思是:它一直告诉我 当前上下文中不存在名称“Html” 或 'CompiledRazorTemplates.Dynamic.becdccabecff' does not contain a definition for 'Html',即使我包含 System.Web.Mvc.Html。
我该如何解决这个问题?
【问题讨论】:
-
Razor 引擎需要 httpcontext、viewcontext 来解析视图文件。您可以在单独的文件中使用带有令牌的 html 电子邮件模板,并在计划任务中使用它来准备最终的电子邮件。
标签: asp.net-mvc asp.net-mvc-3 razor partial-views