ASP.NET AJAX Control Toolkit: mostre um modalpopup e depois faça o postback
-
23-08-2019 - |
Pergunta
Quero mostrar um pop -up modal quando um usuário clica em um botão ASP. O usuário deve selecionar uma opção de um painel. O valor da opção selecionado deve ser salvo em uma entrada oculta e depois o botão ASP.NET deve fazer uma Postback.
Posso fazer isso?
Obrigada!
Solução 3
Finalmente, decidi usar o jQuery para mostrar um modalpopup. A pergunta seguinte tem a resposta para esta pergunta:
A caixa de diálogo da JQuery UI não funciona no ASP.NET
Se você não concorda, diga -me.
Outras dicas
É possível que um modalpopuPextender seja exibido usando um postback. Você precisará de um controle de destino invisível. O extensor é anexado a esse controle oculto.
<asp:Button runat="server" ID="btnShowModal" Text="Show"
OnClick="btnShowModal_Click" />
<asp:Button runat="server" ID="HiddenForModal" style="display: none" />
<ajaxToolKit:ModalPopupExtender ID="Modal1" runat="server"
TargetControlID="HiddenForModal" PopupControlID="PopupPanel" />
No seu manipulador de mensagens no código-behind, você mostrará o ModalpoPuPextender:
Modal1.Show();
E no código que você está usando para descartar o modal, ligue para a função Hide ModalpoPuPextender:
Modal1.Hide();
Eu uso esse método para mostrar um modal que exibe dados detalhados que recupero de um banco de dados com base no que é selecionado em uma GridView.
Adicione seu botão ou linkbutton
<asp:Button ID="MyButton" Text="Click Here" runat="server" />
Adicione um painel para manter suas opções com uma lista suspensa
<asp:Panel ID="MyPanel" runat="server">
<asp:DropDownList ID="MyDropDown" runat="server">
<asp:ListItem Value="1" Text="Option 1" />
</asp:DropDownList>
<asp:Button ID="SaveBtn" Text="Save" OnClick="Save_Click" runat="server" />
<asp:Button ID="CancelBtn" Text="Cancel" runat="server" />
</asp:Panel>
Adicione o seu ModelPoPuPextender
<act:ModalPopupExtender ID="Mpe1" TargetControlID="MyButton"
CancelControlID="CancelBtn" PopupControlID="MyPanel" runat="server" />
Em seguida, adicione seu código atrás do botão SalveBtn
public void SaveBtn_Click(object sender, EventArgs e) {
string selectedOption = MyDropDown.SelectedValue;
}