2013-06-26 5 views
0

J'ai deux pages ASPX .. Le premier est le parent, et l'autre est l'enfant ... le parent ASPX a un lien qui ouvre l'enfant ASPX dans une nouvelle fenêtre, en utilisant le code ci-dessous:Comment faire pour actualiser les valeurs de contrôle ASPX parent sans actualiser la page entière?

code utilisé pour ouvrir le menu contextuel ASPX:

//JavaScript function: 
function showPopup() 
{ 
    var strReturn = window.open("TaxReportInputsForm.aspx",'popup','width=390,height=120'); 
} 

code Button:

Page.ClientScript.RegisterStartupScript(GetType(), "popup", "showPopup();", true); 

J'utilise actuellement le code-behind de formulaire enfant, pour définir les valeurs des contrôles du formulaire parent, en utilisant les variables Session ... Cependant le problème est que même si la valeur du contrôle du formulaire parent est mise à jour (confirmée par le débogage), elle n'indique pas la nouvelle valeur.

Comment puis-je faire en sorte que les contrôles du formulaire parent affichent leur nouvelle valeur, une fois que la forme enfant a changé de valeur?

Deux exigences:

  1. Notez que je veux la forme des valeurs de contrôle de forme mère de mettre à jour tout en l'enfant est encore ouvert .. C'est, je ne veux pas attendre l'enfant forme pour fermer, afin de déclencher cette mise à jour ..
  2. Je ne veux pas aussi toute forme de parent à rafraîchir, parce que cause les valeurs de tout contrôle pour réinitialiser ..

Mon cadre est .NET 2.0 ...

Répondre

0

Le problème est qu'il n'y a pas de communication entre le code côté client Parent et son code code-behind. C'est la raison pour laquelle les valeurs ne sont pas mises à jour dans le HTML (client). Maintenant, la solution est la communication entre le code côté client et le serveur

1) Appel Jquery AJAX avec configuration de la minuterie. La minuterie commencera seulement après que vous avez ouvert le popup enfant. Maintenant, la valeur du serveur peut venir du côté client et être mise à jour par les changements de DOM jquery

2) Le mode Page d'ASP.NET peut également être utilisé.

+0

Je ne peux pas utiliser jQuery ... Pouvez-vous expliquer brièvement la deuxième option? – Ahmad

+0

Vous devez ajaxtool kit fourni par Microsoft Vérifiez-le ici: http://weblogs.asp.net/jalpeshpvadgama/archive/2011/12/24/page-methods-in-asp-net.aspx – Devesh

Questions connexes