GridView 导出数据到 EXCEL 失败
GridView 导出数据到 EXCEL 失败 作 者: yyw84 (思考中...) 等 级: 信 誉 值: 100 所属社区: .NET技术 ASP.NET 问题点数: 50 回复次数: 11 发表时间: 2006-1-7 16:06:34 程序运行到"GridView1.RenderControl(hw); "抛出异常:Control
GridView 导出数据到 EXCEL 失败
作 者: yyw84 (思考中...)
等 级:
信 誉 值: 100
所属社区: .NET技术 ASP.NET
问题点数: 50
回复次数: 11
发表时间: 2006-1-7 16:06:34
程序运行到"GridView1.RenderControl(hw); "抛出异常:Control 'ctl00_contentPlaceHolder1_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
我是将 GridView 加入到一个继承了 master 页的页面的 contentPlaceHolder1 容器控件里面的,现在问题是不知道它所说的 'ctl00_contentPlaceHolder1_GridView1' 是那一个控件,我找遍了每一处角落都没有发现,那我又该把 "runat=server" 标签添加到那里呢?
====================
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename = " + "" + "日志文件" + ".xls");
GridViewLog.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
GridView1.RenderControl(hw); // 抛出异常
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
ChengKing((http://blog.csdn.net/ChengKing)(近期较忙.E5.JiNan))) ( ) 信誉:274 2006-1-7 19:25:40 得分: 10
Excel操作及其相关资源链接:
http://blog.csdn.net/ChengKing/archive/2005/11/29/539514.aspx
Top
exboy(kuku) ( ) 信誉:114 2006-1-7 19:43:25 得分: 10
先看一下可不可以正常浏览
Top
yyw84(思考中...) ( ) 信誉:100 2006-1-7 22:02:41 得分: 0
TO ChengKing(Enthusiasm Bigrosoft)
对VB.NET语法不是很熟悉,看起来有点累人,不过谢谢你先!
TO exboy(kuku)
浏览是可以正常浏览的,我想主要问题是出在继承了master页的问题
不过现在是想知道'ctl00_contentPlaceHolder1_GridView1'这个控件到底是什么东西.
从名字上看有些规律: contentPlaceHolder1 为 GridView1 的父控件,但还是不知道是什么东西?
Top
yyw84(思考中...) ( ) 信誉:100 2006-1-8 11:06:28 得分: 0
UP...
Top
hedongfu(何东付) ( ) 信誉:98 2006-1-8 12:03:28 得分: 10
我想应该放到<form runat=server>吧,你试试
Top
yyw84(思考中...) ( ) 信誉:100 2006-1-8 15:28:24 得分: 0
form 里面已经存在 runat=server 不过是放在 master 页上的
Top
ekin7913046(终结者) ( ) 信誉:94 2006-1-12 13:43:29 得分: 20
1、在导出界面中重载
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
2、在web.config中修改<pages enableEventValidation ="false" ></pages>
或
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>
3、现在可以正常导出了。
Top
yyw84(思考中...) ( ) 信誉:100 2006-1-12 20:53:27 得分: 0
TO ekin7913046(终结者)
谢谢!
Top
hblzg(心开风神) ( ) 信誉:100 2006-2-17 17:52:47 得分: 0
把详细代码贴上来好么 ,我的还是不成功
Top
dafeifei(大飞飞) ( ) 信誉:100 2006-3-8 13:31:29 得分: 0
有时也不要太相信。NET的报错,以上就是一个典型的Grid里含有模板列的问题。
并不是你的控件没放到runat 中
Top
sxnmc(浪浸斜阳) ( ) 信誉:100 2006-3-11 20:22:26 得分: 0
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)