none
RegisterForEventValidation can only be called during Render(); RRS feed

  • Pregunta

  • hola, como les va??, disculpen que los moleste, consulto sobre que tengo una impresion, que cuendo aprieto el Boton para que funcione, me da ese error:

    "RegisterForEventValidation can only be called during Render();"

    Busco en google y hay muchas cosa pero nada que me ayude.......

    Dejo codigo y donde aparece ese error subrayado, si saben algo, me lo podrian transmitir????

    Desde ya les estoy agradeciendo enormemente.....Abrazos..

    protected void btnImprimir_Click(object sender, EventArgs e)
            {
                exportar(GridMatPorAlum);
            }
    
            private void exportar(GridView gv)
            {
                if (gv.Rows.Count > 0)
                {
                    System.IO.StringWriter tw = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
                    System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm();
                    Response.ContentType = "application/vnd.ms-word";
                    Response.AddHeader("content-disposition", "attachment;filename=" + "Reporte" + ".doc");
                    Response.Charset = "";
                    hw.Write("<span style='font-size:16pt;font-weight:bold; style='color: red'>" + "Informe de Alumnos Por Materia</span><br><br>");
                    EnableViewState = false;
                    Controls.Add(frm);
                    frm.Controls.Add(GridMateria);
                    frm.Controls.Add(GridMatPorAlum);
                    frm.RenderControl(hw);
                    Response.Write(tw.ToString());
                    Response.End();
                }
            }
            

    Captura


    jueves, 1 de diciembre de 2016 20:03

Respuestas

  • Este error ocurre cuando se intenta renderizar un control al response. The above error occurs when you try to render a control to Response. 

    Para poder solucionarlo, establece EnableEventValidation = "false" enla directiva @Page de tu web form

    y también sobreescribe este método en tu CodeBehind

    public override void VerifyRenderingInServerForm(Control control)
    {
     
    }

    saludos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 2 de diciembre de 2016 11:13
    Moderador