偶想在datagrid中添加一个button来导数据到excel,但在datagrid的页脚添加一个botton后,编译没问题,执行后一按button就要报错.提示说button应放在runat = server的语句内.(可是检查了,确实是放在语句内的啊!)
但是同样的代码,把button去掉放在页面就可以执行. 不知是那里出了错?该怎么改.?????请高手指点!!![C#的webForm]以下是报错的button的click事件代码:
private void btnDataToExcel_Click(object sender, EventArgs e)
{
Page.Response.Clear();
Page.Response.Buffer = true; Page.Response.Charset = "GB2312";
Page.Response.AppendHeader( "Content-Disposition","attachment;filename=FileName.xls" ); //设置输出流为简体中文
Page.Response.ContentEncoding = System.Text.Encoding.GetEncoding( "GB2312" );
//设置输出文件类型为excel文件。
Page.Response.ContentType = "application/ms-excel";
Page.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo( "ZH-CN" , true );
System.IO.StringWriter oStringWriter = new System.IO.StringWriter( myCItrad );
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter( oStringWriter );
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.RenderControl( oHtmlTextWriter ); // 此行报错
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Page.Response.Write( oStringWriter.ToString() );
Page.Response.End();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货