【发布时间】:2010-10-29 22:19:30
【问题描述】:
我需要生成特定于 Customer 对象的 html(用于电子邮件正文)
我想制作一个 View 来获取 Customer 对象并呈现适当的文本。
有没有一种方法可以调用视图并获取渲染输出而不将其与控制器操作相关联?
理想情况下,我会在 pseydocode 中做这样的事情
customer = new Customer();
view = new GetCustomerEmailBodyView(customer);
string htmlBody = view.SomeFunctionToRenderViewAndGetOutput()
我找到了一种解决方案来获取视图here 的 HTML,该视图具有返回 StringResult(从 ViewResult 继承)的操作,而不是公开 Html 属性的 ActionResult。
但是我仍然需要进行自定义操作才能调用它,而且我不喜欢它依赖于 ControllerContext 从而难以测试它的事实。
我对 MVC 主体的要求是什么?对于这种情况,我的代码应该如何构建?
【问题讨论】:
标签: asp.net-mvc model-view-controller asp.net-mvc-3