我们有一个DNN模块,一旦您选择了要导出到的格式,该模块将从我们的ERP系统中获取价目表。我们正在使用gembox生成excel、csv或pdf文件,但我们意识到的问题是,其他代码一旦开始生成要下载的文件,就会停止工作。这意味着回邮停止。
我们使用的是来自gembox的最后一段代码,它不会硬中止线程:
https://gemboxsoftware.deskpro.com/kb/articles/threadabortexception-in-asp-net-application
我们确保在DotnetNuke中禁用部分呈现。
然后,当代码触发生成exel、csv或pdf文件时,我们更改后端代码以获取单独的.aspx文件(而不是.ascx文件)。这将阻止回发停止工作。现在将生成下载文件,但我正在尝试停止显示加载图标。我使用了registerstartupscript,它会转到jquery函数来停止它,但它从不激发这个registerstartupscript,即使在单独的文件中,代码包含在pageload部分,并且在调试时代码会通过它。(这是否意味着您不能在除view.ascx文件之外的dnn模块上加载单独的页面?)
似乎在下载完这个下载文件后前端永远不会更新。这可能是破坏其余代码的HTTP头响应吗?
如何在不重新加载整个网页的情况下重置/重新加载dnn模块页?
这是否意味着我必须用某种Web工作者函数编写Ajax函数?我只想在浏览器上弹出下载文件后重新加载dnn模块。