begin process at 2012 02 12 13:55:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

Javascript

 > 

javascript - ShowModalDialog


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

javascript - ShowModalDialog

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ée 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 Javascript avant execution du code behind [ par happouh ] Bonjour a tous, je voudrais savoir comment je peut faire pour executer un script coté client avant de celui coté utilisateur depuis le meme bouton. En Appeler du code-behind C# depuis du Javascript [ par Souliabdo ] bonjour, je voudrais savoir comment appeler ma methode (code-behind C#) depuis coté client du Javascript merci pour votre aide crystal report + proc stock avec param + code behind [ par Kikuts ] Bonjour à vous tous ! Voici mon soucie : je recherche un peu partout comment passer des paramètres à une procédure stockée qui constitue la source de UpdatePanel et callback d'une chart s'arretent de fonctionner apres l'execution d'un code javascript [ par waelyh ] Bonjour tout le monde, je suis entrain d'appeler une fenêtre popup a partir d'une page aspx appelé "page1.aspx" en utilisant le code C# suivant: [co


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales