none
O método RegisterRequiresViewStateEncryption() precisa ser chamado antes ou durante Page_PreRender. RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou dando manutenção num sistema WebFormas, o cenário é o seguinte tenho uma página que chama um user control, esse user control dispara um evento que eu capturo na pagina, esta pagina tem um GridView, quando vai executar o DataBind() deste grid aparece a seguinte mensagem:

    "O método RegisterRequiresViewStateEncryption() precisa ser chamado antes ou durante Page_PreRender."

    No meu web.config já esta:

        <pages theme="TemaSP" viewStateEncryptionMode="Always" enableViewStateMac="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">

          <controls>

            <add tagPrefix="ucLoader" tagName="UCLoader" src="~/WebControls/Interface/UCLoader.ascx" />
          </controls>
        </pages>

    Qualquer ajuda é bem-vinda!!!

    Juscilan

    terça-feira, 12 de abril de 2016 14:19

Respostas

  • Achei o BO!

    O Erro acima estava dando porque eu havia criado somente um evento do tipo Action,

    Para corrigir crie um Delegate associado ao evento:

    No UserControl:

            public delegate void btnConfirmarEventHandler(object sender, System.EventArgs e);
            public event btnConfirmarEventHandler btnConfirmar;

            protected void _btnConfirmar_Click(object sender, EventArgs e)

            {
                if (btnConfirmar != null) 
                    btnConfirmar(sender, e);
            }


    Na Page que consome:

    this.UCMotivosCancelemento1.btnConfirmar += UCMotivosCancelemento1_confirmar;

            protected void UCMotivosCancelemento1_confirmar(object sender, EventArgs e)
            {
                _excluir(UCMotivosCancelemento1);

            }

    Estou documentando caso alguém precise.. 

    att,

    • Marcado como Resposta J.MORETO terça-feira, 12 de abril de 2016 18:49
    terça-feira, 12 de abril de 2016 18:49