2016 年 12 月 2 日 10:35:46 更新

采用 Npoi 导出 Excel,前台页面依然是 aspx,然后报“未能从服务器收到消息”的错误。
图片

解决方案还是如下所说。

关于“服务器无法在发送 HTTP 标头之后设置内容类型”的错误:

1.导出组件是用 MyXLS 2.页面采用 aspx 3.页面主要内容有:

1
2
3
4
5
6
7
8
9
<form id="form1" runat="server">
<asp:ScriptManager ID="Scriptmanager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button runat="server" ID="btnExport" Text="导出到Excel" CssClass="btn_common" OnClick="btnExport_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</form>

这样写无法导出,会报标题所示的错误。解决办法就是给 btnExport 增加“全局刷新”的能力
在 <asp:UpdatePanel ID=”UpdatePanel1” runat=”server”>之间增加如下代码即可解决问题

1
2
3
4
<Triggers>
<%--<asp:AsyncPostBackTrigger ControlID="" />--%> <%--局部刷新 值刷新UpdatePanel内部 --%>
<asp:PostBackTrigger ControlID="btnExport" /> <%--全部刷新 --%> <%--2016年7月1日 解决点击导出按钮报错“服务器无法在发送HTTP标头之后设置内容类型”的错误--%>
</Triggers>