我需要将ASP.NET MVC视图呈现为字符串,以便能够通过电子邮件发送它(它是.ascx文件中定义的订单确认电子邮件)。
我已经成功地使用此one中的question方法将ASP.NET MVC视图呈现为字符串。
但是现在我需要能够通过WCF服务(可以通过silverlight访问)来实现它,所以我没有ControllerContext
。此WCF服务包含在与我的MVC项目相同的项目中,因此可以访问我的所有模型等。
我在Stackoverflow上查看了有关此问题的几个问题,但它们似乎都需要一个控制器上下文。我以为mvccontrib中有一些东西,但doesn't seem to be there anymore。
我找到的最接近的是accepted answer to the aforementioned question,但不幸的是,在您渲染的视图中,它与RenderPartial断开。
我希望也许有些与RenderAction相关的ASP.NET MVC 2幕后工作可能有助于实现这一目标吗?
答案 0 :(得分:1)
为什么不创建一个ControllerContext,即使fake?
答案 1 :(得分:1)
将Web表单视图引擎集成到MVC中的方式需要控制器上下文,因为它实际上将模板化/呈现到ASP.NET页面类,该类将模板内容直接写入响应流。
我建议您查看一下spark视图引擎(它会在不更改的情况下呈现WFVE模板)并使用它来生成WCF服务中的模板化电子邮件。 Spark下载中有这样的例子。