ASP.NET AJAX Control Toolkit: Mostrar un ModalPopup y luego hacer PostBack
-
23-08-2019 - |
Pregunta
Quiero mostrar una ventana emergente modal cuando un usuario haga clic en un botón de ASP. El usuario debe seleccionar una opción de un panel. El valor de la opción seleccionada debe guardarse a una entrada oculta y luego el botón asp.net debe hacer PostBack .
¿Puedo hacer eso?
Gracias!
Solución 3
Finalmente, he decidido usar jQuery para mostrar un ModalPopup. La siguiente pregunta tiene la respuesta a esta pregunta:
Diálogo dejQuery UI no funciona en ASP.NET
Si no está de acuerdo, dime.
Otros consejos
Es posible que un ModalPopupExtender que se mostrará mediante una devolución de datos. Usted necesitará un control de destino invisible. El extensor se adjunta a este control 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" />
En el controlador de mensajes en código subyacente, voy a mostrar el ModalPopupExtender:
Modal1.Show();
Y en el código que está utilizando para descartar el modal, llame Ocultar función del ModalPopupExtender:
Modal1.Hide();
Yo uso este método para mostrar un modal que muestra datos detallados que puedo recuperar de una base de datos sobre la base de lo que está seleccionada en un GridView.
Añada su botón o LinkButton
<asp:Button ID="MyButton" Text="Click Here" runat="server" />
añadir un panel para mantener sus opciones con un DropDownList
<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>
Añada su ModelPopupExtender
<act:ModalPopupExtender ID="Mpe1" TargetControlID="MyButton"
CancelControlID="CancelBtn" PopupControlID="MyPanel" runat="server" />
A continuación, añadir el código detrás del botón SaveBtn
public void SaveBtn_Click(object sender, EventArgs e) {
string selectedOption = MyDropDown.SelectedValue;
}