ASP.NET MVC:在另一个动作中获取动作输出

时间:2009-08-24 12:37:15

标签: asp.net-mvc rendering action

在ASP.NET MVC应用程序中,我有一个动作页面(),它呈现一个页面(如维基页面)。

现在,我有另一个动作RenderPdf(),它应该收集Page()的HTML输出并使用HTML2PDF组件来创建该页面的PDF版本。

如何在另一个操作中收集一个操作的HTML输出。注意:不在视图中,而是直接在动作代码中。

4 个答案:

答案 0 :(得分:0)

您可以使用MVC Futures程序集。

有一个名为RenderAction()的方法可以获取动作的HTML输出,但是从视图内部...

答案 1 :(得分:0)

如果pdf只是输出的副本,你可以使用javascript来捕获图像并传回Render PDF吗?

或者,将pdf版本传递给第一个操作的同一模型中的视图。如果/直到用户需要它,请保持隐藏状态?

答案 2 :(得分:0)

你可以看看这个问题的类似问题:

Send ASP.NET MVC action result inside email

显然,你需要用HTML2PDF PDF代替 SendEmailKThx()调用。

答案 3 :(得分:0)

Jan Willem B建议的方法有效,我在ASP .NET MVC 1上进行了测试。

调用GetActionOutput时,只使用控制器的名称。例如,如果调用的控制器名称是AccountController,则将其称为仅帐户。

e.g。如果你想在AccountController上调用Test Method,语法将是...... GetActionOutput(“帐户”,“测试”);