Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : javascript - ShowModalDialog [ Scripting / Javascript ] (kurisutofu64)

lundi 26 novembre 2007 à 09:41:44 | javascript - ShowModalDialog

kurisutofu64

Bonjour,
J'ai une fenetre asp.net (C#) Main.aspx qui ouvre une fenetre modale (?) quand j'appuie sur un bouton, et cela grace a javascript:
window.showModalDialog(Modal.aspx,... );

Cela fonctionne correctement et quand la fenetre modale est ouverte, un gridview est rempli par les donnees d'une table de base de donnees.
Tout ca, dans le code-behind.

Cela marche bien. Et une fois que je ferme la fenetre modale, je reviens bien sur la page principale. Main.aspx.

Le probleme vient apres ... lorsque je rappuie sur le bouton, la fenetre s'ouvre encore mais le code-behind n'est pas executé! Quelqu'un sait pourquoi?

C'est tres embetant car c'est dans le code behind que je recupere les mise a jour faite dans la table ... (mise a jour faites par la fenetre modale, la premiere fois que je l'ai ouverte)

Comment faire pour que la fenetre modale execute toujours le code-behind?

J'espere que vous pourrez m'aider.

Merci!


lundi 26 novembre 2007 à 20:22:35 | Re : javascript - ShowModalDialog

yann_lo_san

Comment fermes-tu le dialog modal ?

As-tu essayé avec un widow.open() ?

Appeles-tu le code behind dans le form_load, dans le test IsPostBack == false ?

Sans code, on ne peut pas t'aider plus que ça.


mardi 27 novembre 2007 à 06:00:47 | Re : javascript - ShowModalDialog

kurisutofu64

- Pour fermer le dialog modal, j'utilise:

Response.Write("<script>window.close();</script>");

- window.open() ne bloque pas le code du main, si j'ai bien compris, et dans mon cas, la page Main doit attendre le retour ...


- Oui j'appelle le code behind dans le form_load:

protected void Page_Load(object sender, EventArgs e)
    {             
        String Revamped="";

        if (!IsPostBack && !String.IsNullOrEmpty(Request.QueryString["funddes"]))
        {
            Revamped = Request.QueryString["funddes"].Replace("_Sharp_", "#");
            ...
        }              
      
    }
Si je place un breakpoint sur La premiere instruction, la premiere fois, le debugger s'y arrete, mais pas les fois suivante ...




mardi 27 novembre 2007 à 20:33:08 | Re : javascript - ShowModalDialog

yann_lo_san


Y'a que 2 solutions,
ou tu ne repasses pas dans le IsPostBack,
ou la variable de chaine de requete (funddes) n'existe plus au 2eme passage. 

Je te conseille quant même de mettre un lien dans le modalDialog du style :
<a href="javascript:self.close();">[Fermer]</a>
et d'essayer si cela fait la même chose.

Salut.

mercredi 28 novembre 2007 à 01:28:13 | Re : javascript - ShowModalDialog

kurisutofu64

Oui, je vais essayer.

Par contre, la condition "If" n'y ai pour rien car je place un breakpoint sur "String Revamped="";" qui est la premiere instruction donc dans tout les cas, ca devrait stopper ...

De plus, quand j'ouvre la fenetre, dans
"funddes", il peut y avoir plusieurs donnees ou une seule.

Lorsque j'ouvre la premiere fois avec plusieurs donnees, je ferme, et je rouvre, le probleme se passe.
Si j'ouvre a nouveau mais avec une seul donnee, ca marche. Mais apres, si je rouvre avec une seule donnee, ca marche plus non plus ...

Je sais pas si je suis clair... voici l'ordre :

1- J'ouvre le dialogue modal avec funddes="data1;data2;data3"
    --> Dialogue ouvert. Code-behind executé.
2- Je ferme le dialogue modal
    --> Dialogue fermé. Retour au Main
3-
J'ouvre le dialogue modal avec funddes="data1;data2;data3"
    
--> Dialogue ouvert. Code-behind non executé.
4
- Je ferme le dialogue modal
    --> Dialogue fermé. Retour au Main
5-
J'ouvre le dialogue modal avec funddes="data1"
    --> Dialogue ouvert. Code-behind executé.
6-
Je ferme le dialogue modal
    --> Dialogue fermé. Retour au Main
7- J'ouvre le dialogue modal avec funddes="data1"
    --> Dialogue ouvert. Code-behind non executé.
8-
Je ferme le dialogue modal
    --> Dialogue fermé. Retour au Main

Apres cela, ouvrri avec funddes="data1" ou bien funddes=
"data1;data2;data3"ne lance pas le code-behind ...

On dirait qu'il y a une sauvegarde de la fenetre ou je ne sais pas quoi ... J'ai pensé au cache mais je ne sais ni comment le verifier, ni comment resoudre ca ...





mercredi 28 novembre 2007 à 01:33:40 | Re : javascript - ShowModalDialog

kurisutofu64

J'ai essayé <a href="javascript:self.close();">[Fermer]</a> mais ca ne marche pas non plus ...

lundi 28 janvier 2008 à 23:02:33 | Re : javascript - ShowModalDialog

tofezone

Bonsoir,

Ton problème vient surement du cache du navigateur.
Si tu mets le code ci-dessous dans le Page_Load de ta popup, Ca va forcer le navigateur à ne pas utilise le cache.

Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);


A bientôt.
ToFe


vendredi 22 août 2008 à 10:56:42 | Re : javascript - ShowModalDialog

some_one

Je vous conseille de ne pas uiliser ShowModalDiag car ce n'est pas compatible avec Firefox. (Utilisez Window.Open)



Cette discussion est classé dans : javascript, code, fenetre, behind, modale


Répondre à ce message

Sujets en rapport avec ce message

insertion de code javascript dans le code behind [ par toddy_101 ] Salut,je veux inserer du code javascript qui permet la fermeture d'un frame.j'ai essayé ca:Response.Write("top.window.close();");mais seulement la pag Accents et javascript défini dans le code behind [ par cfeltzsni ] Bonjour, j'ai une fonction qui me permet de créer un script JavaScript depuis le code behind :     private void ScriptValidation(bool EtatValid)     { Javascript en code behind [ par Mon_Reader ] je veux executer un script en code behind j'ai commencer avec une fonction qui affiche un message d'aler c juste pour tester.voici le code:<span style Pb avec Un JavaSCript appelant du code behind... Via un composant AJAX [ par PeTeRsLaStAr ] Bonjour. Je vous explique mon problème. J'ai un composant Ajax de type ModalPopupExtender.Lorsque je clique sur mon bouton "OK", j'aimerais bien qu'il Code behind et javascript [ par emalio13 ] Bonjour à toutes et à tous,Etant débutante en ASP.net, je rencontre quelques difficultés.En effet, je développe une application avec visual web develo Appel d'une procedure dans le code Behind(vb) avec JavaScript [ par jjoel ] Bonjour <p class="MsoNormal" style="MAR recupération de variable code behind [ par casa51 ] Bonjour, Je développe en asp.net / vb / code-behind <p class= Faire une fenetre qui renvoie une valeur [ par master jp ] Bonjour,je suis débutant en asp.net(code-behind en c#)J'ai une fonction qui doit récupérer une valeur choisie par un utilisateur via une WebDialogWind Mettre en forme un gridview en code behind [ par Fo0Zie ] Bonjour à tous,J'ai créer une grid view en code behind (C#), je voudrais lui donner une mise en forme, pour qu'elle ressemble à quelque chose mais je Appeler du javascript dansle "code" c# [ par rastamickael ] Bonjour à tous,Cela fait quelques jours que je cherche mais en vain à appeler une fonction en javascript depuis le code c#.En effet j'ai un formulaire


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.