Location dans une page modale

Signaler
Messages postés
2
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
3 juillet 2008
-
Messages postés
2
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
3 juillet 2008
-
bonjour,
dans une appli sensible il y a un bouton "retour" qui ouvre une page modale pour demander si l'on est sur de vouloir abandonner

sur cette page outre le texte il ya 2 boutons "OUI" et "NON" si le non ne me cause aucun soucis le oui m'embête
si la page est ouverte en modale le window.opener est invalide mais le widow.parent marche pas completement
en fait ça ouvre un novelle fenêtre alors que je souhaiterais rester dans la fenêtre parente

extrait du code behind :

privatevoid imgbnOui_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
StringBuilder __sb = new StringBuilder();
__sb.Append("<script language=javascript>");
__sb.Append("\n");
__sb.Append("window.paren.location = 'E_Epargne_Consultation_Mes_Contrats.aspx';");
__sb.Append("\n");
__sb.Append("window.close();");
__sb.Append("\n");
__sb.Append("</script>");
__sb.Append("\n");
// Ajout de la chaine de script à la page
Page.RegisterClientScriptBlock("CODEJS", __sb.ToString());
}

une idée ? svp

2 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

Je ne comprend pas trop la question, qu'essayes tu de faire exactement ? dans ta modal popup (ouvert via window.opendialog ?) tu veux pouvoir modifier l'url de la page original ?

je pense que window.parent.location devrait fonctionner (tu as oublié un t dans ton exemple), sinon indique nous l'erreur.

Sinon petite remarque, tu n'a pas besoin de mettre les balises <script (d'ailleurs l'attribut language n'existe pas, c'est type="text/javascript") tu peux simplement mettre true en dernier argument de RegisterClientScriptBlock (ASP.net 2.0 seulement).

Plutot que d'utiliser un StringBuilder tu peux également utiliser un simple string avec @

void pouet(){
   string script = @"
     window.parent.location = ....;
     window.close(); 
    ";
    Page.RegisterClientScriptBlock("pouet," script, true);
}
<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
2
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
3 juillet 2008

Je ne comprend pas trop la question, qu'essayes tu de faire exactement ? dans ta modal popup (ouvert via window.opendialog ?) tu veux pouvoir modifier l'url de la page original ? OUI

lorque j'ouvre la façon "popup"
window.opener.location = 'E_Epargne_Consultation_Mes_Contrats.aspx' repond à mes attentes

lorque j'ouvre la façon "modale"
window.opener.location = 'E_Epargne_Consultation_Mes_Contrats.aspx' repond opener non défini
window.parent.location = 'E_Epargne_Consultation_Mes_Contrats.aspx' ouvre une nouvelle page en plus de la page d'origine .

et mon cahier des charges m'impose une modale.