查找网上的解决大致为: 1)把Grid放到<form runat="server"></form>间。 2)给Grid加标记runat="server"。 查明前台Grid确实有加标记runat="server"的,而且表格是放在form中的。 解决方法:在后台代码加上以下重写方法 public override void VerifyRenderingInServerForm(Control control) { } 查找MSDN说明,该函数的作用在于:确认在运行时为指定的 ASP.NET 移动控件呈现 Form 控件。 语法: C# 复制代码 代码如下: public override void VerifyRenderingInServerForm( Control control )
参数 control 类型:System.Web.UI..::.Control 必须位于 Form 控件中的 ASP.NET 移动控件。 备注 如果在运行时控件未包含在 Form 中,则此方法将重写 Page..::.VerifyRenderingInServerForm 方法以引发异常。 如果回发或使用客户端脚本的服务器控件没有包含在 HtmlForm 服务器控件 (<form runat="server">) 标记中,它们将无法正常工作。这些控件可以在呈现时调用该方法,以在它们没有包含在 HtmlForm 控件中时提供明确的错误信息。 开发自定义服务器控件时,通常在为任何类型的输入标记重写 Render 方法时调用该方法。这在输入控件调用 GetPostBackEventReference 或发出客户端脚本时尤其重要。复合服务器控件不需要作出此调用。 OK,加上以上的函数,编译运行调试。晕,又出现了别外一个错误。