Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决

发现问题:

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

解决方案:

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

      1.导出组件是用MyXLS

      2.页面采用aspx

      3.页面主要内容有:

<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增加“全局刷新”的能力

在 之间增加如下代码即可解决问题

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对来客网的支持。