C#.net comment ouvrir un nouvel onglet d'une page web avec un bouton?

Résolu
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010 - 29 juin 2009 à 21:23
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010 - 7 juil. 2009 à 22:07
Allo tout le monde!

Je voudrais simplement savoir comment est-il possible d'ouvrir un nouvel onglet par un seul click sur un bouton que j'aurais créé moi même?

Je suis en C# en Visual Studio 2005 et c'est sous une application Web.

Merci beaucoup d'avance!

Né pour apprendre ...

9 réponses

nassimpat7 Messages postés 6 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 7 juillet 2009 1
7 juil. 2009 à 17:44
Concernant ton buton, je pense que ça être difficil de faire ce que tu veux. Avec lien un lien Hypertext ça passerait beaucoup mieux (asp:HyperLink ou a href).

Sinon pour l'autre question:
·          Page_Init : Appelé lorsque l’évènement Init se déclenche. Elle est appelée avant toute opération sur la page.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

·
           Page_Load : Pendant cet événement, vous pouvez effectuer une série d'actions pour créer votre page ASP.NET pour la première fois ou répondre aux événements côté clients qui résultent d'une publication.

·
          Page_DataBind : L'événement DataBind se produit quand on veut lier des données à la page (nous verrons cela plus tard).

·
          Page_PreRender : L'événement PreRender est déclenché juste avant que l'état d'affichage soit enregistré et que les contrôles soient affichés. Vous pouvez utiliser cet événement pour effectuer toute opération de dernière minute sur vos contrôles.

·
          Page_Unload : Une fois qu'une page a été affichée, l'événement Page_Unload se déclenche. Cet événement est approprié à la réalisation d'un travail final de nettoyage, tel que le nettoyage des connexions ouvertes de base de données, la suppression d'objets ou la fermeture de fichiers ouverts.

A+
1
nassimpat7 Messages postés 6 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 7 juillet 2009 1
7 juil. 2009 à 11:53
Salut,

Essaye un truc comme ça :


Button1.Attributes.Add("onclick",
"window.open('url')");

De cette façon tu peux rajouter n'importe quel attribut dynamique et lui associer une valeur.
 A+
0
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010
7 juil. 2009 à 14:53
Avec cette astuce, j'ai mi la ligne de code directement dans le code de mon bouton, comme ceci:

protected void btnNouvOnglet_Click(object sender, EventArgs e)
{
         btnNouvOnglet.Attributes.Add("onclick", "window.open('http://google.ca')");
}

et tout ce que ça me donne, c'est que ça l'ouvre google dans une nouvelle fenêtre.

Il faudrait qu'il s'ouvre dans un nouvel onglet.

Merci

Né pour apprendre ...
0
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010
7 juil. 2009 à 14:54
Avec cette astuce, j'ai mi la ligne de code directement dans le code de mon bouton, comme ceci:

protected void btnNouvOnglet_Click(object sender, EventArgs e)
{
         btnNouvOnglet.Attributes.Add("onclick", "window.open('http://google.ca')");
}

et tout ce que ça me donne, c'est que ça l'ouvre google dans une nouvelle fenêtre.

Il faudrait qu'il s'ouvre dans un nouvel onglet.

Merci

Né pour apprendre ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nassimpat7 Messages postés 6 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 7 juillet 2009 1
7 juil. 2009 à 15:46
A ce moment là,
tu peux faire ça :
bt.Attributes.Add("target","_blanc");
bt.Attribute.Add("onclick","document.location.href='URL'")

J'ai pas testé, tu me dira si c'est bon.

A+
0
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010
7 juil. 2009 à 16:36
C'est étrange, puisque c'est comme si ça m'ouvrait plusieurs fois ma page dans la page courante. Donc, dépendant du nombre de fois que je click sur mon bouton, je peux faire exactement le même nombre de click sur le bouton précédent (Alt + Gauche) d'IE.

Né pour apprendre ...
0
nassimpat7 Messages postés 6 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 7 juillet 2009 1
7 juil. 2009 à 17:00
Sinon tu met ton target="_blanc" sur ton form, 2 façon:
<form
id="form1"
runat="server"target
="_blank"/>
ou
form1.Target = "_blanc";

garde ce code:
Bt.Attributes.Add(
"onclick",
"document.location.href='http://www.google.fr'");

Par contre je te conseil de placer ton code dans Page_Load ou Page_Prerender, comme ça tes attributs seront affectés une fois la page chargée.
0
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010
7 juil. 2009 à 17:12
J'ai mis:
form1.Target = "_blanc";
Bt.Attributes.Add("onclick", "document.location.href='http://google.fr'");

Mais, ça l'ouvre encore le lien dans une nouvelle page. =(

De plus, si tu le sais (sinon c'est pas grave), comment je peux faire pour exécuter une méthode directement après le Page_Load, mais sans qu'elle soit appelée?

Merci pour ton aide

Né pour apprendre ...
0
likemuz25 Messages postés 23 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 24 mars 2010
7 juil. 2009 à 22:07
Le Page_Unload s'exécute bien juste après la méthode Page_Load. Pour ça, c'est parfait.

Le seul problème c'est que quand le code du Page_Unload s'exécute, la page suposément loader par Page_Load n'est pas encore affichée.

Comment je fais pour que le code du Page_Unload soit exécuté après le Page_Load comme il le fait déjà, mais qu'en plus, on ait le temps de voir la page que devrait affiché le Page_Load avant que le code du Page_Unload soit exécuté?

Le but de cela est parce que je fais une fonction qui verifie le temps de Session d'un utilisateur quelconque. Il faut donc que la page puisse s'être affiché et qu'après je calcule si sa session est expirée ou non.

Merci

Né pour apprendre ...
0