在AJAX中从GridView表中无法导出Excel表格的问题
这几天工作,用的是AJAX框架,结果导出Excel表格的时候无法导出。
解决办法:1、在.aspx页面首行中<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JinHuoDan.aspx.cs" Inherits="out_store_JinHuoDan" %> 添加EnableEventValidation="false" ;
2、在UPdatePanel中添加</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Out_excel" />//这里的ID指的是你单击导出Execel的控件,使这个控件回发。
</Triggers>
</asp:UpdatePanel> ;
3、导出EXCEL的代码: Response.Clear();
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";
System.IO.StringWriter ostrwriter = new System.IO.StringWriter();
HtmlTextWriter ohtwriter = new HtmlTextWriter(ostrwriter);
this.GridView1.RenderControl(ohtwriter);
Response.Output.Write(ostrwriter.ToString());
Response.Flush();
Response.End();
并且添加代码行: public override void VerifyRenderingInServerForm(Control control)
{
}
//这行代码是要确认运行时指定的服务器控件呈现,一定要添加
运行解决问题
相关文档:
<style type="text/css">
<!--
.STYLE1 {
font-size: 24px;
font-weight: bold;
}
.STYLE2 {font-size: 36px}
-->
.mouseOut {
color: #000000;
}
.mouseOver {
&nb ......
function createXMLHttpRequest() { // 创建XMLHTTPREQUEST的标准函数.兼容各浏览器.
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (wind ......
===============下骗Ajax
================
十一、第十一课 ===》 使用XHR对象发送和接受数据
a.继续上面步骤
2)注册回调函数,只写函数名称(如果加了括号,那么就把函数返回值注册给回调函数)
xmlHttp.onreadystatechange = callback;
3)设置连接信息
//第一参数是Http请求方式,一般选择get、pos ......