Sur ma page j'ai eu le contrôle utilisateur suivant:contrôle utilisateur ASP.NET et le dialogue jQuery
<div class="editFormDialog" style="display: none; font-size: 12px;">
<mm:Form ID="editUC" ShowCreateButton="false" ShowEditButton="true" runat="server" />
</div>
Cette UC a une propriété publique qui prend un DataSet et met à jour certains champs de l'UC. Donc quand j'appuie sur un bouton sur ma page, il appelle cette propriété sur l'UC, et l'UC est mise à jour avec les données du DataSet.
Jusqu'ici tout va bien. Le problème se pose lorsque je veux que l'UC soit une boîte de dialogue jQuery UI.
D'abord, je crée la boîte de dialogue:
$(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');
}
});
});
Et je wan't pour ouvrir sur un bouton poussoir (ce n'est pas un bouton ASP.NET, HTML brut):
$('#btnEdit').live('click', function() {
$('.editFormDialog').dialog('open');
});
La boîte de dialogue s'ouvre, mais l'UC ne contient pas les données correctes. Lorsque la page est chargée, l'UC est mise à jour avec les données par défaut. Ensuite, l'utilisateur clique sur un bouton et les données changent mais l'UC n'est pas mise à jour. Il contient toujours les données par défaut. C'est le problème.
Avez-vous une idée pourquoi?
L'aide nous sera très utile!
Je clique sur un bouton pour obtenir les données suivantes. Une publication se produit. La propriété dans l'UC est définie comme "editUC.EditData = ds;".La page arrive avec les nouvelles données. Maintenant, quand je clique sur un autre bouton qui fait le popup Dialog, l'UC contient toujours les données par défaut. Comme il n'a pas enregistré les changements dans sa source de données. Mais si je montre l'UC en dehors de la boîte de dialogue, cela fonctionne parfaitement. –
Cela semble étrange: Pourriez-vous poster un peu plus de votre code source? –
Tout est placé dans un panneau de mise à jour. Est-ce que ce peut être quand je crée la boîte de dialogue, c'est "déplacé dehors" le panneau de mise à jour? Peut-être qu'une autre solution pourrait être de créer le dialogue chaque fois qu'il est ouvert et de le retirer quand il est fermé? Bien sûr, placer les éléments html au bon endroit. Mais comment puis-je faire ça? –