导出excel时报错:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。

在把数据导出到excel的时候,有时候会这样的错误:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。

System.Web.UI.Control ctl=this.GridView1;
//DataGrid1 是你在窗体中拖放的控件
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
ctl.Page.EnableViewState =false;
System.IO.StringWriter  tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();

  解决方法可以在页面中的cs文件里加上:

public override void VerifyRenderingInServerForm(Control control)
{
     //base.VerifyRenderingInServerForm(control);
}
时间: 2024-08-27 07:44:21

导出excel时报错:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。的相关文章

关于类型“LinkButton”的控件“xxx”必须放在具有 runat=server 的窗体标记内问题的解决方案

1.首先确认LinkButton控件包含在Form中,检查该Form有无runat标记,如果有,排除Form原因,请继续看. 2.如果看到这里,估计你是在做Excel导出功能.在后台代码中重写VerifyRenderingInServerForm方法: public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for }

类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。

问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat="server"></form>间. 2)给Grid加标记runat="server". 查明前台Grid确实有加标记runat="server"的,而且表格是放在form中的. 解决方法:在后台代码加上以下重写方法 public

GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记 解决办法  重写 VerifyRenderingInServerForm: public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); } VerifyRenderingInServ

Asp.net中导出Excel文档(Gridview)

主要思路,通过GridView来导出文档. 新建一个Aspx页面,页面创建GridView控件,后台绑定好数据源.然后load中直接打印即可导出 前台的GridView <asp:GridView ID="GridView1" BorderColor="Black" runat="server" AutoGenerateColumns="False" Font-Size="12px" Width=&q

微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!

最近做的项目,上线后一切正常,过段时间管理员反馈用户导出EXCEL报错,前台获取用户列表不显示,查找问题找到是微信昵称.emoji表情导致报错, emoji表情介绍 由于微信接口中对于emoji表情使用的是UTF-8的二进制字符串,并没有解码,表现就是当收到微信端用户发来的emoji表情时,显示为一个方块型「」或是无法显示的字符,这时就需要对其进行转码. 每个emoji表情其实都有相应的unicode编码,在解析用户向公众号发送的文字中的emoji表情字符时,我们可以根据unicode码来匹配

weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing

周一,开发反馈weblogic 12c下jxls导出excel报错,公司环境和UAT环境均报错,看日志如下: 2016-06-08 09:16:55,825 ERROR org.jxls.util.TransformerFactory.createTransformer(TransformerFactory.java:40)[org.jxls.util.TransformerFactory] - Method createTransformer of org.jxls.transform.poi

java导入大量Excel时报错

在项目中同事遇到一问题,现在给大家分享一下. 在程序里面导入两千多条数据后,程序就报错.刚开始以为是内存的问题.在经过仔细跟踪代码后发现每次都是833行的第三列报错,也就是第一万列.最后在网上找到了解决方案,邮件截图如下: 解决方案就是在tomcat的server.xml的8080那个配置文件中添加一属性:maxParameterCount = "1000000" java导入大量Excel时报错

Gridview表格控件

Gridview表格控件 效果图: 分析: 使用和ListvVew很像,都是经过适配器将数据绑定到控件上 具体步骤如下: 1.创建GridView控件,并指定列数 android:numColumns="3" 2.创建显示数据项的数据容器,是一个Lauout文件,里面一个ImageView,一个TextView 上面是ImageView,"小白10"是TextView显示的 3.创建好数据,这里用List来实现 private List<HashMap<

从SQL Server 2005 中 导入 导出 excel 表格

1.从 数据库 中 导出 excel  表格 定义 一个 gridview1 protected void Button1_Click(object sender, EventArgs e) //倒出数据 {     if (GridView1.Rows.Count == 0)   {       return;    }   else  {       GridView1.AllowPaging = false;//先将数据分页取消,才能全部导出数据      bind(); Export("