datagrid带模板列时数据导出报错的解决方法

datagrid不分页、不带模板列的情况下进行数据导出是很正常的,但是一旦加上分页、模板列时再进行数据导出就会报错:
提示 datagrid中的某些列 必须放在 runat=server 的form中……
这种情况让人十分恼火,起初我也没办法,只好找找其他方法,后来发现一位朋友在网上贴了一段代码解决了这个问题,很是感谢,在此共享出来,其实很简单,只要加上下面这个虚方法就OK了,简单吧
public override void VerifyRenderingInServerForm(Control control)
{
            
// Confirms that an HtmlForm control is rendered for 
            
//导出列表到Excel,如果不过载这个虚函数,就会在试图将GRIDVIEW中的数据导出至EXCEL时抛出异常:
            
//类型“GridView”的控件“ctl00_content_gridView1”必须放在具有 runat=server 的窗体标记内。 
            
//页面是从母版页继承的,而gridview所在的ContentPlaceHolder确定是放在form中的。以前只有控件未放在form中才会抛出同类异常。
}
posted on 2007-12-28 15:30  冷月孤峰  阅读(240)  评论(0)    收藏  举报