Location dans une page modale

cs_madcomputer Messages postés 2 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 3 juillet 2008 - 2 juil. 2008 à 15:16
cs_madcomputer Messages postés 2 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 3 juillet 2008 - 3 juil. 2008 à 08:35
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
2 juil. 2008 à 18:05
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
0
cs_madcomputer Messages postés 2 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 3 juillet 2008
3 juil. 2008 à 08:35
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.
0
Rejoignez-nous