在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)
{
}
//这行代码是要确认运行时指定的服务器控件呈现,一定要添加
运行解决问题
相关文档:
index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AJAX 技术简单应用</title>
  ......
function createXMLHttpRequest() { // 创建XMLHTTPREQUEST的标准函数.兼容各浏览器.
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (wind ......
上传页面只需要一个js引用和js函数的调用,简单方便,不影响网页原有布局。
下载地址
调用说明:
1.首先引用js文件
<script type="text/javascript" src="AienUpload/init.js"></script>
2.将函数调用(showUpload(boxCtrl,inputCtrl,upPath,maxCount,fn);)绑定到HTMl控件事件,例如
......
Ajax,选择同步还是异步
Ajax在网页中最大的一个优点是它可以访问服务器上的信息而不需要重新加载网页。这意味着要检索或是更新信息的某一小个部分的时候,只需要从服务器端传送那一部分需要的信息而不需要重新下载整个网页。
Ajax可以通过两种方法访问服务器,即同步(脚本会停留并等待服务器发送回复然后再继续)和 ......
+++++++++++++++++++++++Ajax
~~~~~~~~~~~~~~~~~~~~~~~~~~
======= Ajax 技术 ========
一、第一课 ===》 AJAX概述与IntelliJ安装
a.Ajax读法其实不是我们读的'阿假客斯',注意专业化。
b.王兴魁老师先讲实践再讲理论。
c.开发工具不再是eclipse了,因为ajax主要写javascript
d ......