none
Criar um botão(webpart) para fechar um formulário de lista no SharePoint foundation 2010 RRS feed

  • Pergunta

  • Boa tarde pessoal, 

    estou usando o seguinte código no code-behind de um botão em uma web-part que foi inserida no formulário de uma lista da minha intranet, para que quando receber o evento de um click feche o formulário.

    /*
    * Código qualquer que será executado antes do formulário ser fechado...
    */

    // o código abaixo é para fechar o formulário da lista...

    this.Page.Response.Clear(); this.Page.Response.Write("<script type=\"text/javascript\">window.frameElement.commonModalDialogClose(1, 1);</script>"); this.Page.Response.End();

    A ideia é simular o botão de salvar padrão de um formulário de lista, só que com as modificações que eu preciso que sejam feitas( por exemplo, alem de criar um item na lista do formulário, fazer uma verificação qualquer que não existe nativo no SharePoint) . O código acima porém não fecha o formulário da lista, mas se for utilizado em uma "application page" funciona perfeitamente.

    O que percebi é que o código antes da parte responsável por fechar o formulário tem efeito normalmente sobre a lista, apenas quando é para fechar o formulário que nada acontece.

    Alguém sabe me dizer o que pode estar acontecendo ou me sugerir outra solução?

    Grato por qualquer ajuda.

    Att.:
    Santiago Alves

    sábado, 25 de maio de 2013 18:48

Todas as Respostas

  • Utilize:

    window.frameElement.commitPopup(Object returnVal)

    Exemplo:

    Context.Response.Write("<script type='text/javascript'>window.frameElement.commitPopup()</script>");
                    Context.Response.Flush();
                    Context.Response.End();


    ROBERTOSLJUNIOR

    segunda-feira, 27 de maio de 2013 20:15
  • Muito obrigado pela ajuda Roberto. Seu código funciona perfeitamente!!! Entretanto se o botão contendo qualquer um dos códigos( o que postei e o que você deixou de exemplo) para fechar o formulário, estiver dentro de um "UpdatePanel" não funciona. Simplesmente não fecha o formulário.

    Sabe me dizer o que pode estar acontecendo? É essencial que o código que será executado antes de fechar o formulário esteja dentro de um "UpdatePanel" por isso minha insistência, mas fora esse detalhe foi de grande ajuda sua dica.

    Aguardo qualquer orientação sobre o problema.

    Att.:
    Santiago Alves

    terça-feira, 28 de maio de 2013 00:57