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 Discussion :

Fonction ASP dans response.write


Sujet :

ASP

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 143
    Par défaut Fonction ASP dans response.write
    Bonjour à tous,

    Je développe en ce moment un petit site Intranet pour mon entreprise dont une de mes pages crée une autre page ASP.
    J'aurais besoin d'intégrer une fonction ASP dans un response.write pour que la page créée puisse lire cette fonction mais le problème c'est que je n'arrive pas bien à imbriquer les choses.

    Voilà la fonction que je voudraus intégrer dans un response.write :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if debut=date then response.write "bgcolor=""red"">" else response.write ">" end if
    Voici le response.write en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write "<td class=""calMensuelTitreStockPetit"" rowspan=""2"">"&nJourAbr(Weekday(debut))&"<br>"&day(debut)&"</td>"
    Et voilà comment j'ai essayé de goupiller la chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	response.write "<td class=""calMensuelTitreStockPetit"" rowspan=""2"" "<%if debut=date then response.write "bgcolor=""red"">" else response.write ">" end if%>">"&nJourAbr(Weekday(debut))&"<br>"&day(debut)&"</td>"
    Mais ça ne fonctionne pas.
    Pouvez-vous m'aider svp ?

  2. #2
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par wanou44 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	response.write "<td class=""calMensuelTitreStockPetit"" rowspan=""2"" "<%if debut=date then response.write "bgcolor=""red"">" else response.write ">" end if%>">"&nJourAbr(Weekday(debut))&"<br>"&day(debut)&"</td>"
    Mais ça ne fonctionne pas.
    Pouvez-vous m'aider svp ?
    Salut,

    Tu n'as pas vue que tu avais introduit deux fois <% et %> car si tu as response.write c'est que tu as forcément ouvert déjà avec <% dans ton 3ème code ci-dessus ? Si c'est un copier/coller cela vient de la ton erreur.

    Sinon, ta condition (et non pas une fonction ) doit peut être avoir un problème de comparaison p.e. : if a = 0 then (texte ne peut être comparé à du numérique) mais j'opterais plus pour le format des dates.

    Que retourne
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    nJourAbr(Weekday(debut))
    et compare le avec
    Soit :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write nJourAbr(Weekday(debut)) &" "& day(debut)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 143
    Par défaut
    Je pense que je me suis mal expliqué.
    Les <% %> ne sont pas une erreur. En faisant le response.write avec les <% %>, ça me sert à créer une page qui contient la condition entre les <% %>.

    Je n'ai pas mis tout le code car ça fait une quantité. Mais en même temps, je stocke chaque response.write dans une variable, qui me sert à la fin à créer ma nouvelle page ASP.

    Dans cette nouvelle page, j'aimerais qu'apparaisse les <% %> avec la condition dedans pour que la page ASP l'interprète.

  4. #4
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par wanou44 Voir le message
    Je pense que je me suis mal expliqué.
    Les <% %> ne sont pas une erreur. En faisant le response.write avec les <% %>, ça me sert à créer une page qui contient la condition entre les <% %>.

    Je n'ai pas mis tout le code car ça fait une quantité. Mais en même temps, je stocke chaque response.write dans une variable, qui me sert à la fin à créer ma nouvelle page ASP.

    Dans cette nouvelle page, j'aimerais qu'apparaisse les <% %> avec la condition dedans pour que la page ASP l'interprète.
    Dans ce cas, il faut que tu ailles voir le tuto ASP parce que tu ne peux pas avoir deux fois "<% <% " dans un code asp, cela indique l'ouverture et la fermeture (%>) du code asp.

    Ansi, soit tu présentes comme ceci :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <%
      ' code asp
    %>
    <p>bonjour</p>
    <%
     'suite du code asp
    %>

    soit :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%
     'code asp
     'code html intégrer dans le code asp par exemple :
    response.write "<p>hello world</p>"
    %>

    mais en aucun cas tu ne peux avoir ceci :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%
      response.write "bonjour"
       <%
          if a = b then
            response.write "faux"
          else
            response.write "vrai"
          end if
       %>
      response.write "Cette syntaxe est incorrecte"
    %>

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Salut,

    J'ai déjà eu le même besoin. Utilise le caractère unicode pour retranscrire <% et %> dans ta chaine de caractère.

  6. #6
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Salut,

    J'ai déjà eu le même besoin. Utilise le caractère unicode pour retranscrire <% et %> dans ta chaine de caractère.
    Ici, ce n'est pas son cas vue qu'il a mis les "<%" à l'intérieur de la balise <td> j'ai pas souvenir qu'en html la balise td prenait ce genre de chose "<%". Ce qu'il veut faire c'est plutot ceci je dirais :

    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    response.write "<td class=""calMensuelTitreStockPetit"" rowspan=""2"" "
        if debut = date then 
             response.write "bgcolor=""red"">" 
        else 
            response.write ">"
        end if
    response.wrte nJourAbr(Weekday(debut)) &"<br>"& day(debut) &"</td>"

    Autrement dit, finir la balise td selon ce que retourne la condition if.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Non pas du tout kaiser59, je le cite :

    J'aurais besoin d'intégrer une fonction ASP dans un response.write pour que la page créée puisse lire cette fonction
    C'est à dire qu'il veut générer du code HTML contenant du ASP. Et il veut générer cette page avec le langage ASP. Tu suis ?
    J'ai déjà eu le besoin pour un générateur de code ASP. C'est à dire que le générateur écrit en ASP devait générer du code ASP. Le code généré étant ensuite lu par une autre application.
    Ca donnait ce genre de choses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.write "<" & chr(37 ) & " if toto=1 then ... end if " & chr(37 ) & ">"
    Avec ça, tu génères une page ASP comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% if toto=1 then ... end if %>

  8. #8
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Non pas du tout kaiser59, je le cite :



    C'est à dire qu'il veut générer du code HTML contenant du ASP. Et il veut générer cette page avec le langage ASP. Tu suis ?
    J'ai déjà eu le besoin pour un générateur de code ASP. C'est à dire que le générateur écrit en ASP devait générer du code ASP. Le code généré étant ensuite lu par une autre application.
    Ca donnait ce genre de choses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.write "<" & chr(37 ) & " if toto=1 then ... end if " & chr(37 ) & ">"
    Avec ça, tu génères une page ASP comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% if toto=1 then ... end if %>
    la j'ai un peu de mal à suivre

    Pourquoi, faire l'interpretation de l'interprétation comprend pas trop si t'as page est déjà en asp elle sera automatiquement interprété par le serveur.

    Si tu fais ceci :
    Citation Envoyé par TekP@f
    Avec ça, tu génères une page ASP comme ceci :

    Code :
    <% if toto=1 then ... end if %>
    alors le code n'est pas interprété, nan ?? j'entends par la que "<%" est lu comme du texte non pas comme l'ouverture du code asp.

    Si tu as déjà fait ce genre de truc aurais tu un exemple ? Que je puisse voir de moi-même ce que cela donne thx

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Tu as bien compris. Je ne peux pas te poster un exemple concret ici (code trop long et problème de confidentialité) mais je peux t'expliquer un peu plus le principe.

    C'est une sorte de CMS que j'ai mis en place. C'est à dire que l'internaute peut créer ses propres pages HTML à partir d'un formulaire. Voici le détail :
    1 - l'internaute saisit le formulaire
    2 - après validation, un script génère une page ASP qui contient tout ce qui a été saisi par le formulaire
    3 - la page ASP est publiée sur un site quelconque

    Rien de compliqué jusque-là. Là où ça se complique, c'est qu'il fallait ajouter l'option "blog". C'est à dire permettre de réagir aux pages ASP publiées. Cette option étant activale/désactivable. Du coup, il fallait ajouter du code ASP dans la pages publiées. Voici ce que ça donnait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ' Ecriture de la page (rien de compliqué)
    ...
    ' Condition pour afficher le blog
    response.write "<" & chr(37 ) & "If booBlog Then " & chr(37 ) & ">"
    response.write "<" & chr(37 ) & "numBlog=" & numBlog & chr(37 ) & ">"
    response.write "<!--#include virtual=""/blog.asp"" -->"
    response.write "<" & chr(37 ) & "End if" & chr(37 ) & ">"
    Comme tu peux voir, le code généré sera le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%If booBlog Then %>
    <%numBlog=1%>
    <!--#include virtual="/blog.asp"" -->
    <%End if%>
    Ca permet d'activer/désactiver le blog à la volée sans regénérer les pages. Pour info, la gestion du blog est dans l'include.

    C'est pas évident à expliquer, j'imagine à comprendre ...

  10. #10
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Tu as bien compris. Je ne peux pas te poster un exemple concret ici (code trop long et problème de confidentialité) mais je peux t'expliquer un peu plus le principe.

    C'est une sorte de CMS que j'ai mis en place. C'est à dire que l'internaute peut créer ses propres pages HTML à partir d'un formulaire. Voici le détail :
    1 - l'internaute saisit le formulaire
    2 - après validation, un script génère une page ASP qui contient tout ce qui a été saisi par le formulaire
    3 - la page ASP est publiée sur un site quelconque

    Rien de compliqué jusque-là. Là où ça se complique, c'est qu'il fallait ajouter l'option "blog". C'est à dire permettre de réagir aux pages ASP publiées. Cette option étant activale/désactivable. Du coup, il fallait ajouter du code ASP dans la pages publiées. Voici ce que ça donnait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ' Ecriture de la page (rien de compliqué)
    ...
    ' Condition pour afficher le blog
    response.write "<" & chr(37 ) & "If booBlog Then " & chr(37 ) & ">"
    response.write "<" & chr(37 ) & "numBlog=" & numBlog & chr(37 ) & ">"
    response.write "<!--#include virtual=""/blog.asp"" -->"
    response.write "<" & chr(37 ) & "End if" & chr(37 ) & ">"
    Comme tu peux voir, le code généré sera le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%If booBlog Then %>
    <%numBlog=1%>
    <!--#include virtual="/blog.asp"" -->
    <%End if%>
    Ca permet d'activer/désactiver le blog à la volée sans regénérer les pages. Pour info, la gestion du blog est dans l'include.

    C'est pas évident à expliquer, j'imagine à comprendre ...
    Ok je voie a peu près le truc merci pour cette précision en espèrant que l'auteur du post aura compris aussi

  11. #11
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Ceci est interprété par le serveur???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    response.write "<" & chr(37 ) & "If booBlog Then " & chr(37 ) & ">"
    response.write "<" & chr(37 ) & "numBlog=" & numBlog & chr(37 ) & ">"
    response.write "<!--#include virtual=""/blog.asp"" -->"
    response.write "<" & chr(37 ) & "End if" & chr(37 ) & ">"
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Salut,

    Ceci est interprété par le serveur???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    response.write "<" & chr(37 ) & "If booBlog Then " & chr(37 ) & ">"
    response.write "<" & chr(37 ) & "numBlog=" & numBlog & chr(37 ) & ">"
    response.write "<!--#include virtual=""/blog.asp"" -->"
    response.write "<" & chr(37 ) & "End if" & chr(37 ) & ">"
    A+
    Le response.write oui. Ca écrit du code ASP non interprété, c'est le but.

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Tu créés des pages ASP par l'intermédiaire de ton site?
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Tu créés des pages ASP par l'intermédiaire de ton site?
    Oui.
    J'aime bien tes questions, elles sont assez simples.
    Le besoin, c'est pour un CMS d'un site web. Ce CMS doit créer des pages ASP.

  15. #15
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    J'ai pu remarquer que quand je posais trop de questions on ne répondait pas à la moitié.
    Un response.write n'ecrit pas dans un fichier mais dans le navigateur du client. Si tu veux manipuler des fichers c'est autrement et avec "FileSystemObject ".

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  16. #16
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Un response.write n'ecrit pas dans un fichier mais dans le navigateur du client. Si tu veux manipuler des fichers c'est autrement et avec "FileSystemObject ".
    A+
    Tout à fait. Je n'ai pas été au bout de l'explication du process. Je ne pensais pas que ce serait utile.

    Donc après avoir écrit la page ASP qui génère du code ASP, j'utilise le compo AspHTTP.Conn qui permet de simuler l'appel d'une page et renvoie le code HTML généré.
    J'appelle ce compo sur cette fameuse page ASP, je récupère le résultat, et via le FSO, je sauve mon fichier ASP généré.

    C'est plus clair maintenant ?

    Je me demande si on répond bien au post d'origine avec tout ça ?

  17. #17
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Je me demande si on répond bien au post d'origine avec tout ça ?
    Oui, moi aussi d'ailleurs. Il faudrait peut-être attendre que wanou44 se manifeste.
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [AJAX] AJAX ASP.NET Response.Write
    Par madess1 dans le forum AJAX
    Réponses: 5
    Dernier message: 16/05/2013, 13h00
  2. Réponses: 10
    Dernier message: 01/04/2005, 14h14
  3. Executer de l'asp dans une fonction java
    Par ober dans le forum ASP
    Réponses: 2
    Dernier message: 03/01/2005, 10h31
  4. inserer des " dans un response.write
    Par jefferson dans le forum ASP
    Réponses: 4
    Dernier message: 30/12/2004, 12h05
  5. Perdue dans les Response.Write...
    Par Tapioca dans le forum ASP
    Réponses: 4
    Dernier message: 11/07/2004, 12h54

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