2009-10-28 2 views
0

Sur le serveur, je reçois un fichier XML à partir d'un service web, j'utilise la transformation xslt sur ce fichier xml pour créer une page htm. Maintenant, je dois montrer cette page htm à l'utilisateur en l'ouvrant dans une nouvelle fenêtre du navigateur. Comment puis-je réaliser une telle fonctionnalité? Mon site Web est écrit en ASP.NET.ouverture d'une page html sur le client à partir du serveur

J'ai essayé d'utiliser

Response.Write (""); Response.Write ("window.open ('" + Server.MapPath ("~/App_Data/HTMLPage.htm") + "', '_ blank')"); Response.Write ("");

Mais cela me jette une erreur d'accès refusé.

Merci d'avance.

Chandrasekhar

Répondre

1

Comme je l'ai bien compris, vous voulez que cette nouvelle page pour ouvrir dans une nouvelle fenêtre du navigateur, correct?

Si c'est le cas, vous vous y trompez. Response.Redirect redirige uniquement la page actuelle, pas d'instancier une nouvelle fenêtre de navigateur.

Ce que vous devez faire est d'injecter une commande JavaScript dans la page qui ouvre une nouvelle page de navigateur. Cette commande est window.open. Voici un moyen rapide de le faire:

ClientScript.RegisterStartupScript(this.GetType(), "newpage", "window.open('" + address +"');", true); 

Ce code insère la commande JavaScript pour exécuter lorsque la page rechargements après la soumission. Notez que adresse est la variable de chaîne qui contient l'adresse de la page que vous souhaitez ouvrir.

Autre très important note: la plupart des navigateurs considéreront cela comme une fenêtre pop-up et peuvent très bien la bloquer.

Questions connexes