Control ‘dg’ of type 'GridView' must be placed inside a form tag with runat=server

 在GridView导入数据到Excel时,出现了如下错误:

Control "dg" of type 'GridView' must be placed inside a form tag with runat=server

经过网上资料查找,原来是缺少该函数:

   public override void VerifyRenderingInServerForm(Control control)

    {

        //base.VerifyRenderingInServerForm(control);

    }

如果您的GridView没有设定分页,应该就可以正常的执行了。但是如果有设定分页,很快的又遇到了另外一个问题!

编译执行后又出现了另一个错误,出现以下的错误讯息:

RegisterForEventValidation 只能在 Render(); 期间呼叫

 

这个问题,可以设定aspx原始档中<%Page%>的以下两个设定解决

EnableEventValidation = "false" AutoEventWireup="true"

在aspx页面加上上面两个语句后,正常执行。

原文地址:https://www.cnblogs.com/huige1004/p/1304507.html