En mi página me dio la siguiente control de usuario:control de usuario ASP.NET y jQuery diálogo
<div class="editFormDialog" style="display: none; font-size: 12px;">
<mm:Form ID="editUC" ShowCreateButton="false" ShowEditButton="true" runat="server" />
</div>
Este UC tiene una propiedad pública que toma un conjunto de datos, y actualiza algunos campos en la UC.
Así que cuando presiono un botón en mi página, llama a esta propiedad en la UC y la UC se actualiza con datos del DataSet.
Hasta ahora todo bien. El problema surge cuando quiero que el UC sea un diálogo de interfaz de usuario jQuery.
Primero crear el diálogo:
$(document).ready(function() {
$('.editFormDialog').dialog({
autoOpen: false,
height: 700,
width: 780,
modal: true,
bgiframe: true,
title: 'Rediger',
open: function(type, data) {
$(this).parent().appendTo("form");
$(this).css('display', 'block');
}
});
});
Y me wa no para abrir en un pulsador (esto no es un botón de ASP.NET, la versión HTML):
$('#btnEdit').live('click', function() {
$('.editFormDialog').dialog('open');
});
El diálogo se abre, pero la UC no contiene los datos correctos. Cuando se carga la página, la UC se actualiza con los datos predeterminados. Luego, el usuario hace clic en un botón y los datos cambian, pero la UC no se actualiza. Todavía contiene los datos predeterminados. Ese es el problema.
¿Tiene alguna idea de por qué?
Ayuda será muy apreciada!
Hago clic en un botón para obtener la siguiente información. Se produce una devolución de datos. La propiedad en la UC se establece como "editUC.EditData = ds;".La página presenta los nuevos datos. Ahora cuando hago clic en otro botón que hace que aparezca el cuadro de diálogo emergente, el UC todavía contiene los datos predeterminados. Al igual que no ha registrado los cambios en su fuente de datos. Pero si visualizo el UC fuera del diálogo, funciona perfectamente. –
Eso suena extraño: ¿Podría publicar un poco más de su código fuente? –
Todo se coloca dentro de un panel de actualización. ¿Puede ser cuando creo el diálogo, se "mueve fuera" del panel de actualización? ¿Tal vez otra solución podría ser crear el diálogo cada vez que se abre y luego eliminarlo cuando esté cerrado? Por supuesto, colocando los elementos html en el lugar correcto. ¿Pero cómo puedo hacer eso? –