在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)
{
}
//这行代码是要确认运行时指定的服务器控件呈现,一定要添加
运行解决问题
相关文档:
一、ajax的入门
1、XMLHttpRequest对象的使用(使用XMLHttpRequest解析xml文件)
onreadystatechange
指定当readyState属性改变时的事件处理句柄
open()
创建一个新的http请求,并指定此请求的方法、URL等信息
send()
发送请求到http服务器并接收回应
& ......
Download board.zip - 39.6 KB - Old Version
Download board_2008.zip - 55.03 KB - Latest VS 2008 Version
Introduction
This is an AJAX based WhiteBoard application. Typically unlike their desktop based counterparts, web applications need to be designed to use optimal ......
+++++++++++++++++++++++Ajax
~~~~~~~~~~~~~~~~~~~~~~~~~~
======= Ajax 技术 ========
一、第一课 ===》 AJAX概述与IntelliJ安装
a.Ajax读法其实不是我们读的'阿假客斯',注意专业化。
b.王兴魁老师先讲实践再讲理论。
c.开发工具不再是eclipse了,因为ajax主要写javascript
d ......
===============下骗Ajax
================
十一、第十一课 ===》 使用XHR对象发送和接受数据
a.继续上面步骤
2)注册回调函数,只写函数名称(如果加了括号,那么就把函数返回值注册给回调函数)
xmlHttp.onreadystatechange = callback;
3)设置连接信息
//第一参数是Http请求方式,一般选择get、pos ......