5

在 ASP.NET MVC 应用程序中,我有一个操作 Page() 来呈现页面(如 wiki 页面)。

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

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

4

4 回答 4

0

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

在调用 GetActionOutput 时,仅使用控制器的名称。例如,如果调用的控制器名称是 AccountController,则仅将其寻址为 Account。

例如,如果你想在 AccountController 上调用测试方法,语法应该是... GetActionOutput("Account", "Test");

于 2011-02-01T08:06:11.260 回答
0

您可以使用MVC Futures程序集。

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

于 2009-08-24T12:39:20.410 回答
0

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

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

于 2009-08-24T16:41:10.167 回答
0

您可以查看这个 awnser 来解决类似的问题:

在电子邮件中发送 ASP.NET MVC 操作结果

显然,您需要将SendEmailKThx()调用替换为您的 HTML2PDF PDF 生成。

于 2009-08-30T22:25:34.050 回答