0

嗨,我正在从事MVC3 Razor 项目,我已经在这个问题上停留了几个小时......

我正在尝试获取一个 html 到 pdf 转换器以向用户提供文档...

我想要的是以下..

呈现并显示页面。在页面底部应该有一个小图标显示类似下载为 pdf 的内容。那就是我的问题所在..

我想要的所有数据都是在一个$("#content").html();

所以我尝试的是一个 jquery/ajax 函数$("#content").html();作为参数传递给创建 pdf 的函数(有效,但我不知道如何将创建的文件提示给用户?)

其他解决方案是,@(Html.ActionLink())但我不知道如何($("#content").html())在该链接中传递数据?

当尝试使用转换器来访问 url 的功能是死路一条,因为它有自己的会话并被重定向到登录页面。

任何帮助将不胜感激!

4

4 回答 4

0

为什么只创建一个函数,将创建的 PDF(在 ajax 请求期间)作为文件结果返回,然后在 ajax 请求成功完成后将窗口的位置设置为指向此操作?

编辑:这意味着您没有将 PDF 保存在任何地方。因此,解决方法是使用此jquery 下载插件或动态附加 iframe,然后通过它发布数据。希望这可以帮助。

于 2011-04-28T07:02:46.923 回答
0

我不熟悉 JavaScript,但是如果您首先通过调用 Web 服务方法将 PDF 保存在临时文件中,然后在完成后您可以使用 JavaScript 导航到生成的 PDF 将作为内容返回的 URL。

于 2011-04-28T07:04:43.237 回答
0

由于XmlHTTPRequestObject 不能处理除html, text,之外的数据类型jsonjsonp因此xml您需要重定向到 pdf 位置。

我不确定您在 Ajax 请求中到底在做什么,但是一旦完成,您就可以将窗口(Form-Action)重定向到创建的 PDF 的位置。这实际上不会重定向浏览器,而只会提示保存文件。

于 2011-04-28T07:09:06.807 回答
0

想出了一个解决方法,我所做的是为我的 HtmlHelper 编写一个扩展,并使用它将我的控件呈现为一个 html 字符串而不是一个视图。因此,我可以使用 actionlink 来渲染此页面并以这种方式获取所有 html 数据。

http://msug.vn.ua/Posts/Details/3301

谢谢你的帮助!

于 2011-04-28T09:30:51.810 回答