在引用母版的情况下,实现GridView导出到word或Excel会出现以下错误:
类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内
解决办法:
在后台文件中直接加入重载VerifyRenderingInServerForm方法,如:
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
备注:
VerifyRenderingInServerForm什么意思?
当此控件将其内容写入页时,它使用 VerifyRenderingInServerForm 方法确保该控件显示在 HtmlForm 控件的开始和结束标记之间
而后依配置不同可能会出现以下错误:
发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示。
有两种方法可以解决以上问题:
1.修改web.config(不推荐)<pages enableEventValidation ="false" ></pages>
2.直接在导出Execl的页面修改
<%
@ Page Language
=
"
C#
"
EnableEventValidation
= "false"
AutoEventWireup
=
"
true
"
CodeFile
=
"
ExportGridView.aspx.cs
"
Inherits
=
"
ExportGridView
"
%>
问题解决!