Nota: El control ModalPopupExtender debe tener El atributo BehaviorID con un valor cualquiera. Dicho valor se puede usar en el código JS para poder hacer referencia al mismo de una forma más rápida.
<script type="text/javascript">
var _estadoModal;
function pageLoad() {
$addHandler($get("btnSalir"), "click", OnSalir_Click);
var mpe = $find("mpe");
mpe.add_shown(OnShowModal);
if (_estadoModal)
mpe.show();
}
function OnShowModal(sender) {
_estadoModal = true;
}
function OnSalir_Click(sender) {
_estadoModal = false;
}
</script>
Si en la variable "_estadoModal" está el valor true, entonces
se vuelve a ordenar que el ModalPopup se muestre. Esto hace
que le caiga encima a la instancia anterior que en realidad
ya esta muerta; lo que pasa es que el updatePanel no se a
refrescado y por eso parece que el ModalPopup nunca desapareció
de la pantalla, el efecto es rápido y parece que el Modalpopup
no se cierra.
Si en la variable "_estadoModal" está el valor "false",
entonces el ModalPopup desaparece ya que el Postback hace que
se cierre el ModalPopup y por ende el UpdatePanel se refresca
borrando la imagen del ModalPopup que se estaba mostrando.
NOTA: CUALQUIER OBJETO QUE HAGA UN POSTBACK O UN
AUTOPOSTBACK PROVOCAN QUE EL MODALPOPUPEXTENDER
SE CIERRE DE INMEDIATO. SIENDO MÁS ESPECÍFICOS,
EL MODALPOPUPEXTENDER SE CIERRA PORQUE ESTE
CONTROL NO MANTIENE SU ESTADO EN EL LADO DEL
CLIENTE DESPUÉS DE CADA POSTBACK O AUTOPOSTBACK.
se vuelve a ordenar que el ModalPopup se muestre. Esto hace
que le caiga encima a la instancia anterior que en realidad
ya esta muerta; lo que pasa es que el updatePanel no se a
refrescado y por eso parece que el ModalPopup nunca desapareció
de la pantalla, el efecto es rápido y parece que el Modalpopup
no se cierra.
Si en la variable "_estadoModal" está el valor "false",
entonces el ModalPopup desaparece ya que el Postback hace que
se cierre el ModalPopup y por ende el UpdatePanel se refresca
borrando la imagen del ModalPopup que se estaba mostrando.
NOTA: CUALQUIER OBJETO QUE HAGA UN POSTBACK O UN
AUTOPOSTBACK PROVOCAN QUE EL MODALPOPUPEXTENDER
SE CIERRE DE INMEDIATO. SIENDO MÁS ESPECÍFICOS,
EL MODALPOPUPEXTENDER SE CIERRA PORQUE ESTE
CONTROL NO MANTIENE SU ESTADO EN EL LADO DEL
CLIENTE DESPUÉS DE CADA POSTBACK O AUTOPOSTBACK.
Descargar ejemplo
6 comentarios:
no no sale ...tienes un ejemplo ...
el gran error es que tengo el postback para poder saber el indexchange del control dropdownlist y funciona bien como un control , sin embargo lo agrego a un modalpopupextender y desaparece con dropdownlist postback=true ..yt si no lo agrego asi no busca los datos del metodo
zeroyevi@gmail.com
en vb.net con un modal.show despues de gatillar el evento solucionado ...c# mmm no hay caso
Ya puse un ejemplo en la entrada para que lo puedas bajar!
ok leandro funciono =) tube que hacer un ajuste de traspaso a un proyecto prueba ya que no mandas la socucion de proyecto ... detalles jejej
http://fyevenes.blogspot.com/
lo provee para un formulario ascx y no funciona igual el post no se pierde sin enbargo el selectvalue del dropdownlist vuelve a -1 ....
es mejor utilizar un updatePanel?
Ya hace un tiempo publiqué un ejemplo muy sencillo para descargar. Se puede ver en el ejemplo el uso de un UpdatePanel.
Cuando usamos drodownlists dentro de un UpdatePanel, siempre desaparece el modalpopupextender si el dropdownlist tiene activo AutoPostback. Para evitar ese efecto, se usa el código de javascript que también va en el ejemplo.
Suerte!
Publicar un comentario