Pergunta

Estou desenvolvendo um controle de usuário e tem um botão de asp.net dentro jQuery diálogo, mas quando eu pressionar o botão não acontece nada quero dizer que não chama o evento de clique de botão na serverside, eu tentei

dlg.parent().appendTo(jQuery("form:first")); 

mas não me ajudar também, é possível obter este dentro asp.net UserControl? Também gostaria de saber se eu posso usar UpdatePanel de diálogo dentro ou não?

Foi útil?

Solução

Você pode fazer o botão de um botão de diálogo e colocar um botão asp.net na página com a ID de HiddenButton e envolvê-la em um div com um estilo de display:none;

Assim, o botão não é visível. (Não deve ser visível = "false" para que o botão é processado)

Na caixa de diálogo JavaScript adicionar um botão que tem o efeito de clicar no botão escondido

  jQuery("#dialog").dialog({
        buttons: {
            'ButtonText': function() {
                //save the session
           __doPostBack('<%# HiddenButton.ClientID %>', '')
                jQuery(this).dialog('close');
            }
        }
    });

e adicionar um manipulador asp clique com o botão escondido

<div style="display:none;">
    <asp:Button ID="HiddenButton" OnClick="HiddenButton_Click" ></Button>
<div>

Clique em evento sobre o serverside dispara quando o botão de diálogo é clicado

Espero que isso ajude eu uso esse padrão o tempo todo

Outras dicas

Eu suspeito que pode ser algo a ver com ASP.NET não ser capaz de encontrar o botão de dentro do formulário.

Use a configuração do evento .Live em jQuery - ligam o evento antes de criar o diálogo usando .Live e ele deve funcionar ...

eventos ao vivo em jQuery

Você vai acabar com algo parecido com isso em sua função document.ready:


$("#btn").live("click", function(){
  // Do something
});


$("#dialog").dialog({
    ... 
}

Eu tive o mesmo problema. Eu acabei puxando o botão para fora da janela, escondendo-lo com css, e, em seguida, provocando-o do próximo evento na caixa de diálogo (eu vou fazê-lo de forma mais limpa depois, mas isso serve para ilustrar o problema, pelo menos).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top