IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Modification d'en-tête http


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut Modification d'en-tête http
    Bonjour à tous !

    J'ai une page maPage.aspx standard qui génère dynamiquement des lien hypertext (qui pointent vers des fichiers du serveur).

    J'ai besoin que le tout premier lien soit ouvert automatiquement par le browser ou le programme par défaut.

    En cherchant un peu j'ai pu modifier mon en-tête http de maPage.aspx pour que l'url par défaut soit le fichier à ouvrir.

    j'ai donc du code de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Page.Response.Redirect("file://C:\toto.txt",true);
    Ce qui veut dire que ma page est redirigée vers ce fichier, or, le problème est que cette page disparait au profil du fichier qui est ouvert.

    J'aurai donc besoin de garder cette page : maPage.aspx mais il faudrait par contre qu'elle ouvre soit en popup soit une nouvelle page web, au démarrage et que ce soit le fichier en question qui s'ouvre.

    En gros je veux :

    - ouvrir une seconde page aspx (par exemple)
    - modifier l'en-tete si besoin de cette seconde page pour avoir le fichier d'ouvert par défaut.

    Ce qui fait au final que maPage.aspx reste ouverte et l'utilisateur peut tjs la visionner et travailler dessus.

    Vous me suivez ?

    merci d'avance !


  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il faut ouvrir le nouveau fichier en Javascript dans l'évènement onLoad de la page :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    <script language="javascript">
        function openNewWindow()
        {
            window.open("file://C:/toto.txt"); 
        }
    </script>
    <body onLoad="openNewWindow()">
    ...

    Par contre ça m'étonnerait que ça fonctionne : la plupart des navigateurs actuels bloquent les popups, et en plus ça m'étonnerait que du code javascript soit autorisé à ouvrir un fichier local... (sauf peut-être si la page elle-même est en local)

    EDIT: je confirme... j'ai testé avec 3 navigateurs différents, si la page est accédée en HTTP (et non en local avec file://), ça fait une erreur "accès refusé" sur le fichier local

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 461
    Par défaut
    Je comprends pas trop le problème initial.
    Vous voulez avoir une page par défaut ? C'est un paramétrage au niveau du serveur Web.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Je ré explique pas de soucis.

    J'ai une page aspx maPage.aspx, durant le OnLoad de cette page, je créé dynamiquement des liens hypertext vers des fichiers qui apparaissent à l'utilisateur.

    Je voudrais que cette page maPage.aspx se lance tjs ainsi, sauf qu'il faudrait dans l'absolu que lors de l'ouverture, le premier fichier soit ouvert automatiquement dans une nouvelle page (par une redirection ou autre) ou dans un popup, de sorte que le programme par défaut me l'ouvre.
    Si l'utilisateur ferme le fichier ouvert, il faut qu'il puisse cliquer sur les autres liens de maPage.aspx.

    tu vois mieux?

    La le code que j'ai utilisé, je l'ai inséré dans le source de maPage.aspx, donc si tu veux au démarrage de cette page, le fichier s'ouvre, sauf que comme j'ai redirigé ma page vers un fichier, eh bien une fois le fichier fermé, je n'ai plus de page web.

    EDIT:

    Citation Envoyé par tomlev Voir le message

    EDIT: je confirme... j'ai testé avec 3 navigateurs différents, si la page est accédée en HTTP (et non en local avec file://), ça fait une erreur "accès refusé" sur le fichier local
    Mes fichiers sont en local sur le serveur web, et actuellement j'avais fait un accès via fille://. Je fais un test la pour voir si cela fonctionne.

    EDIT 2: je viens de tester cela fonctionne, maintenant l'idéal serait que dans le code c# de maPage.aspx; je puisse modifier le contenu du code javascript.

  5. #5
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    tu as essayé de voir avec l'attribut Target de tes liens hypertext pour voir si cela ne correspondait pas à ton besoin?

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    J'ai trouvé une solution qui fonctionne grâce aux précédents posts, cela donne un bout de code comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string strScript = "<script language=\"javascript\">";
    strScript = strScript + "function openNewWindow()";
    strScript = strScript + "{";
    strScript = strScript + "window.open(\"file://\\monServeur/FICHIER/FICHIER_DIVERS/88782.tif\")";
    strScript = strScript + "}";
    strScript = strScript + "</script>";
     
    this.Response.Write(strScript);
    Seulement je trouve que c'est assez "lourd" de modifier mon code behind de cette façon, y a t il une autre solution?

    merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. En têtes http
    Par gattous dans le forum Apache
    Réponses: 4
    Dernier message: 31/01/2008, 00h44
  2. modification de l'entete http
    Par gorgonite dans le forum Zend Framework
    Réponses: 1
    Dernier message: 13/10/2007, 20h27
  3. Réponses: 1
    Dernier message: 18/12/2006, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo