Thursday, May 30, 2013

RegisterForEventValidation can only be called during Render() ASP.NET

The prefect solution is use EnableEventValidation="false" in Page tag.

<%@ Page Title="" Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="true" EnableEventValidation="false"
    CodeFile="checkout.aspx.cs" Inherits="LD.checkout" %>

 private string RenderGridView()
        {
            string returnvalue = string.Empty;
            try
            {
                StringWriter stringWrite = new StringWriter();
                HtmlTextWriter writer = new HtmlTextWriter(stringWrite);
                VerifyRenderingInServerForm(GridView2);
                GridView2.RenderControl(writer);
                returnvalue = writer.InnerWriter.ToString();
            }
            catch (Exception ex)
            {

            }
            return returnvalue;
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            return;
        }