ventana net modal ejemplo asp ajaxtoolkit asp.net ajaxcontroltoolkit modalpopupextender

asp.net - net - ¿Usa ModalPopupExtender sin tener que configurar TargetControlID?



popup asp net (3)

Configurar el TargetControlID en un botón oculto (pantalla: ninguno;) es la mejor manera que yo sepa.

Me gustaría usar un modalpopupextender en mi página asp.net para mostrar un formulario secundario. Pero solo tiene que mostrarse en condiciones específicas. Esas condiciones se determinan en una pieza de código javascript.

Así que, lo más importante, la ventana emergente modal no tiene que mostrarse con un clic de botón. Sin embargo, si dejo la propiedad TargetControlID en blanco, obtengo la siguiente excepción:

El TargetControlID de ''ModalPopupExtender1'' no es válido. El valor no puede ser nulo o vacío. Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.InvalidOperationException: El objeto TargetControlID de ''ModalPopupExtender1'' no es válido. El valor no puede ser nulo o vacío.

¿Acabo de tener TargetControlID en un botón oculto o también hay una opción más decente?


Crea un botón, configúralo como TargetControlId y dale style = "display:none"

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="Panel1" TargetControlID="btnPopup" CancelControlID="btnClose" BackgroundCssClass="modalBackground" OkControlID="btnClose"></asp:ModalPopupExtender> <asp:Button ID="btnPopup" runat="server" Text="PopUp" style = "display:none" />


El TargetControlID también podría establecerse en un tipo HiddenField. De esa manera ni siquiera necesitas un botón.