(我相信这适用于普通的 ASP.NET Web 部件和 SharePoint 托管的 Web 部件)
Web 部件有一个“导出”按钮,可将输出呈现为 csv 并设置适当的标题,以便在 Excel 中打开。
Hook 按钮单击事件、清除响应、添加适当的标题和内容类型是微不足道的 - example
但是我注意到,如果将此代码添加到 Web 部件并附加调试器,那么如果页面上有此(或任何其他)Web 部件的多个实例,则 HTTPApplication.CompleteRequest 都不会或 Response.End 停止处理/页面生命周期,所有页面控件的所有事件仍然触发。
在本示例中这是一种浪费,因为其他 Web 部件不需要运行 - 它们所做的任何事情都不会得到响应。
有什么方法可以停止呈现其他 Web 部件?
最佳答案
如何创建另一个为您执行实际导出功能的页面,然后让导出链接仅链接到该其他页面?
这应该可以解决必须手动结束请求的问题,因为您可以准确控制响应中的输出内容。
关于c# - 如何从 Web 部件内部停止页面执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5394864/