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>

总结

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

您可能有感兴趣的文章
ASP.NET中Response.BufferOutput属性的使用技巧

ASP.NET轻量级MVC框架Nancy的基本用法

ASP.NET Core中的对象池介绍

.NET集成ORM框架HiSql

asp.net中MVC的处理流程详解