2010-08-23 18 views
2

J'ai eu des problèmes avec un problème qui m'a tenu occupé pendant quelques jours maintenant. Je programme des applications Web C# .net pour un environnement IE uniquement et mon projet actuel contient une fenêtre modale. J'espère que vous pouvez m'aider ici!Fenêtre modale C# aspx: comment rediriger en utilisant javascript vers la même fenêtre (auto)

J'ai un couple de response.redirects dans ma page modale qui fonctionne bien, avec l'ajout de dans le fichier ASPX. Mais j'ai aussi un listview qui est rempli à l'exécution, où j'ajoute un événement onclick à un tablecell en utilisant la méthode attributes.add qui tire le script java pour faire la redirection. Le problème est le suivant: Les méthodes que j'ai utilisées, location.href = 'x'; et window.open ('x', '_ self'); ouvre malheureusement le lien dans une nouvelle fenêtre au lieu de dans le même.

Quelqu'un pourrait-il contourner ce problème ou comment résoudre ce problème? je serais très reconnaissant pour toute aide.

protected void lvConditions_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
     ... 

     label.Attributes.Add("OnClick", "window.open('Condition.aspx?action=selectedcondition', '_self');"); 

     ... 
} 

Merci

Répondre

1

utilisation window.location au lieu de window.open()

label.Attributes.Add("onclick", "window.location = 'Condition.aspx?action=selectedcondition';"); 
0

Essayez d'utiliser window.location au lieu de window.open?

0

Je savais qu'il y avait une troisième façon de faire la redirection en js, mais j'ai oublié celui-ci ... Malheureusement, cela n'a pas aidé non plus, la nouvelle page était encore ouverte dans une nouvelle fenêtre.

J'ai modifié l'application maintenant pour contourner le problème. Au lieu de sélectionner en cliquant sur la cellule, j'ai ajouté un ImageButton pour chaque ligne pour faire la sélection. Leurs liens (PostBackUrl) que je mets en runtime et ça fonctionne comme un charme.

Je garderai aussi l'ancien code pour voir si quelqu'un peut réellement trouver la vraie solution pour cela.

Merci Daniel et Dave pour votre réponse. Quelqu'un d'autre qui veut le jeter un coup d'oeil à cela?