在 ASP.NET MVC 应用程序中,我有一个操作 Page() 来呈现页面(如 wiki 页面)。
现在,我有另一个动作 RenderPdf() 应该收集 Page() 的 HTML 输出并使用 HTML2PDF 组件创建该页面的 PDF 版本。
如何在另一个操作中收集一个操作的 HTML 输出。注意:不在视图中,而是直接在动作代码中。
在 ASP.NET MVC 应用程序中,我有一个操作 Page() 来呈现页面(如 wiki 页面)。
现在,我有另一个动作 RenderPdf() 应该收集 Page() 的 HTML 输出并使用 HTML2PDF 组件创建该页面的 PDF 版本。
如何在另一个操作中收集一个操作的 HTML 输出。注意:不在视图中,而是直接在动作代码中。
Jan Willem B 建议的方法有效,我在 ASP .NET MVC 1 上对此进行了测试。
在调用 GetActionOutput 时,仅使用控制器的名称。例如,如果调用的控制器名称是 AccountController,则仅将其寻址为 Account。
例如,如果你想在 AccountController 上调用测试方法,语法应该是... GetActionOutput("Account", "Test");
您可以使用MVC Futures程序集。
有一个名为 RenderAction() 的方法可以获取动作的 HTML 输出,但是从视图内部...
如果 pdf 只是输出的副本,您不能使用 javascript 来捕获图像并传回 Render PDF 吗?
或者,将 pdf 版本传递给与第一个操作相同的模型中的视图。如果/直到用户需要它时保持隐藏?