ユーザー コントロールにグリッド ビューがあり、以下のエラーが発生しています。
RegisterForEventValidation can only be called during Render();
私は使っているgv.RenderControl(htw);
私のコードは以下の通りです:
private void ExportToExcel(string strFileName, GridView gv)
{
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + strFileName);
Response.ContentType = "application/excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
サーバーコントロールがフォームコントロールの例外の外で作成されないようにするために、以下のコードを使用しています:
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
しかし、私はこのコードをすべてユーザーコントロールで使用しています。基本クラスにはこのメソッドはありません。ユーザーコントロールを配置するページの上に配置しても、エラーが発生します
また、既にタグ付けされたフォームがある masterpage を使用していることにも注意してください。