c# - 如何从 Web 部件内部停止页面执行

标签 c# asp.net sharepoint

(我相信这适用于普通的 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/

相关文章:

c# - 如何搜索特定的结构值?也许更好的方法?

asp.net - 在 asp.net 中检索 SSL session ID

c# - 以编程方式创建新站点并选择父站点? (分享点)

c# - 将 DataGridView 绑定(bind)到 List<>,某些属性不应显示

c# - 在 Azure ASP.NET 网站中选择地理坐标时出错

asp.net - 长时间运行的 HttpWebRequest

c# - 使用 SharePoint Web 部件访问远程文件

c# - 提供字符串字段时如何正确实现 IWebPartField.Schema

c# - 0 和 0u 之间的差异

c# - 无法上传文件到 Godaddy 服务器