none
Web User Control - Mensagem Confirm RRS feed

  • Pergunta

  • Pessoal criei um web user control responsáveis pelas mensagens do sistema, dentro ele executa um dialog em jquery, conforme trechos abaixo:

    O "aspx.cs" do meu Listview:

            protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
            {
                if (e.CommandName == "Inserir")
                {
                    InserirItem(e.Item);
                }
                else if (e.CommandName == "Editar")
                {
                    EditarItem(e.Item);
                }
                else if (e.CommandName == "Atualizar")
                {
                    msgMensagem.Mostra(Mensagem.Tipo.Info,"Deseja atualizar o item?",Mensagem.TipoBotao.confirmaRetorno);
                    AlterarItem(e.Item);
                }
                else if (e.CommandName == "Cancelar")
                {
                    CancelarItem(e.Item);
                }
                else if (e.CommandName == "Excluir")
                {
                    ExcluirItem(e.Item);
                }
                else if (e.CommandName == "SortID")
                {
                    Sort("ID");
                }
                else if (e.CommandName == "SortNome")
                {
                    Sort("Nome");
                }
    
            }


     

    O meu controle ascx.cs:

            public void Mostra(Tipo tipo, string mensagem, TipoBotao tipoBotao)
            {
                _tipoMensagem = tipo;
                _mensagemCaixa = mensagem;
                _tipoBotao = tipoBotao; 
    
                AdicionaJavaScriptPagina(true);
            }

            private void AdicionaJavaScriptPagina(bool botao)
            {
    
                bool _temLink = false;
    
                _javascript = "  ";
                _javascript += "  	$(function() { ";
                _javascript += "  		$('#dialog:ui-dialog').dialog('destroy'); ";
                _javascript += "  		$('.lblMensagem').empty(); ";//A mensagem que vai ser mostrada em tela
                _javascript += "  		$('#divImagem').addClass('NomeClasse1'); ";//Adiciona o css que mostra a imagem e coloca a cor na fonte
                _javascript += "  		$('#divFundoMensagem').addClass('NomeClasse2'); ";//Adiciona o css que mostra a imagem e coloca a cor na fonte
                _javascript += "                 $('#divMensagem').dialog({ ";//Mostra a mensagem na tela
                _javascript += "                     modal: true, ";//Mostra o fundo congelado = true ou remove o fundo congelado = false
                _javascript += "                     autoOpen: true, ";
                _javascript += "                     title: 'Mensagem', ";//Título da Caixa de Mensagem
                _javascript += "                     resizable: false, ";
                _javascript += "                     draggable: false, ";
                _javascript += "                     width: 400, ";
                _javascript += "                     height: 200, ";
    
                if (botao)
                {
                    _javascript += "                     buttons: { ";
    
                    switch (_tipoBotao)
                    {
    
                        case TipoBotao.confirmaRetorno:
    
                            _javascript += "                     	'Sim': function() { ";
                            _javascript += "                             $('#divImagem').removeClass(); ";
                            _javascript += "                             $('#divFundoMensagem').removeClass(); ";
                            _javascript += "                             $(this).dialog('close'); return true; ";
                            _javascript += "                     	}, ";
                            _javascript += "                     	'Não': function() { ";
                            _javascript += "                             $('#divImagem').removeClass(); ";
                            _javascript += "                             $('#divFundoMensagem').removeClass(); ";
                            _javascript += "                             $(this).dialog('close'); return false; ";
                            _javascript += "                     	}, ";
    
                            _temLink = false;
    
                            break;
                        
                        case TipoBotao.confirma:

      

    Se eu usar assim na chamada do botão, funciona esse javascript, ele so atualizar se eu clicar em ok:

                                    <%--<span onclick="return confirm('Quer realmente ALTERAR o Item <%# Eval("ID") %> do Tipo de Etapa?')"> --%>                             
                                    <asp:ImageButton ID="ImbAtualizar" runat="server" CommandName="Atualizar" ImageUrl="~/Imagens/bt_atualiza.jpg"
                                        CausesValidation="true" ToolTip="Alterar o Tipo de Etapa" onmouseover="this.src='Imagens/bt_atualiza_on.jpg'" 
                                        onmouseout="this.src='Imagens/bt_atualiza.jpg'" />
                                    <%--</span>--%>


    Veja o que ocorre quando tento usar o controle que criei:

    Depois que crico no botão atualizar:

    É atualizado e só depois aparece o dialog.

    Acho que agora ficou mais claro o meu problema.

    Alguém pode me ajudar? 


    • Editado Lupulo sexta-feira, 8 de março de 2013 04:13 esclarecer melhor.
    quarta-feira, 6 de março de 2013 14:15

Respostas

Todas as Respostas