Maison >développement back-end >C++ >Comment rediriger vers une nouvelle fenêtre de navigateur à l'aide de Response.Redirect ?

Comment rediriger vers une nouvelle fenêtre de navigateur à l'aide de Response.Redirect ?

DDD
DDDoriginal
2025-01-08 14:41:40659parcourir

How to Redirect to a New Browser Window Using Response.Redirect?

Utiliser Response.Redirect pour ouvrir une nouvelle fenêtre de navigateur

Les développeurs Web ont souvent besoin de rediriger les utilisateurs vers une nouvelle page sans perturber leur session de navigation en cours. Bien que Response.Redirect soit couramment utilisé, ouvrir la nouvelle page dans une fenêtre séparée peut être délicat. Ce guide présente la solution.

La clé est une combinaison de techniques côté client et côté serveur :

  1. Modification de la cible côté client : Ajoutez l'attribut OnClientClick="aspnetForm.target='_blank';" à votre lien ou bouton côté serveur. Cela oblige le navigateur à ouvrir le lien dans un nouvel onglet ou une nouvelle fenêtre.

  2. Prévenir le comportement global des nouvelles fenêtres : Pour éviter tous les liens s'ouvrant dans de nouvelles fenêtres, ajoutez cette fonction JavaScript à l'en-tête de votre fenêtre contextuelle :

<code class="language-javascript">function fixform() {
    if (opener.document.getElementById("aspnetForm").target != "_blank") return;
    opener.document.getElementById("aspnetForm").target = "";
    opener.document.getElementById("aspnetForm").action = opener.location.href;
}</code>
  1. Exécution OnLoad : Incluez onload="fixform()" dans la balise <body> de votre fenêtre contextuelle. Cela garantit que la fonction fixform() s'exécute lors du chargement de la page, corrigeant l'attribut cible du formulaire.

En mettant en œuvre ces trois étapes, un appel côté serveur à Response.Redirect("MyPage.aspx") dans un événement OnClick ouvrira avec succès "MyPage.aspx" dans une nouvelle fenêtre de navigateur, laissant la page d'origine intacte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn