在ASP.NET MVC应用程序中,我有一个动作页面(),它呈现一个页面(如维基页面)。
现在,我有另一个动作RenderPdf(),它应该收集Page()的HTML输出并使用HTML2PDF组件来创建该页面的PDF版本。
如何在另一个操作中收集一个操作的HTML输出。注意:不在视图中,而是直接在动作代码中。
答案 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(“帐户”,“测试”);