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

VB.NET Discussion :

Lien dynamique Methode GET [Débutant]


Sujet :

VB.NET

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut Lien dynamique Methode GET
    Bonjour a tous,

    J'ai créer une liste d'actualité qui sont en relation avec ma base de données.

    J'ai essayé en vain de mettre un lien ( par exemple + d'infos ) et lorsqu'on clique dessus on est redirigé sur la fiche de l'actu correspondant.


    Par avance merci a vous pour votre aide.

    cdl

    benny

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    Votre question est trop vague, vous n'aurez pas de réponse de cette manière...

  3. #3
    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
    Impossible de répondre avec le peu d'infos que tu fournis. Donne plus de détails....
    - quel genre d'appli ? (ASP.NET je suppose, mais on peut pas deviner)
    - mettre un lien où ?
    - comment accède-t-on à la fiche d'un article spécifique dans ton appli ? (i.e. ton schéma d'URL)
    - et poste le code en rapport avec ton problème, s'il y en a...

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Tout d'abord merci pour vos réponse.

    Effectivement en relisant mon post je constate un manque d'info.

    J'ai créer un site web en asp.net - vb.net qui a pour but de gerer l'ensemble des compte bancaire d'une famille. Pour agrémenté le tout j'ai décidé de gerer des actu economique.

    J'ai donc créer une table "actu" avec un identifiant et toutes ses propriété ( date, theme, titre,contenu et image ).

    J'arrive bien a lister toute mes actu avec LINQ et Entity Framework.

    Voici le code de la liste d'actu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            If Not Page.IsPostBack Then
     
     
                Dim context As New compteBancaireModel.compteBancaireEntities
     
                Dim query = From actu In context.actu Order By actu.date_actu Descending
                Dim queryCount = (From actu In context.actu Select actu.id_actu).Count
                If queryCount < 1 Then
                    Me.Button_supprimer.Visible = False
                End If
     
     
                For Each actu In query
                    Me.Literal_actu.Text += "<div class=""pos1"">"
                    Me.Literal_actu.Text += "<div class=""photo"">"
                    Me.Literal_actu.Text += "<img src=""" + actu.image_actu + """/>"
                    Me.Literal_actu.Text += "</div>"
                    Me.Literal_actu.Text += "<li>"
                    Me.Literal_actu.Text += "<h2>"
     
                    Me.Literal_actu.Text += actu.titre + vbCrLf
                    Me.Literal_actu.Text += "<span>"
                    Me.Literal_actu.Text += "Le " + actu.date_actu
                    Me.Literal_actu.Text += "</span>"
                    Me.Literal_actu.Text += "</h2>"
                    Me.Literal_actu.Text += actu.theme
     
     
                    Me.Literal_actu.Text += "<p>"
                    Me.Literal_actu.Text += actu.contenu
                    Me.Literal_actu.Text += "</p>"
                    Me.Literal_actu.Text += "</li>"
                    Me.Literal_actu.Text += "</div>"
     
                Next
            End If
        End Sub
    J'ai donc ma liste d'actu. Je voudrai maintenant pour chaque actu avoir un lien qui corresponde a chaque actu : par exemple actu.aspx?id_actu=1

    Ce lien sera donc la fiche de l'actu avec toutes les infos et une description plus longue.

    En gros un peu comme dans un site e-commerce ou y a une liste d'article et puis on peut consulter sa fiche produit.

    Je n'es pas créer d'autre page. Je ne sais pas comment faire. Créer une page, faire une redirection, utiliser request.params, request.queryString.

    Bref je suis totalement perdu

    Merci par avance pour vos conseil

    cdl

    benny

  5. #5
    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
    Pour générer le lien, il suffit que tu génères l'URL dynamiquement comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "actu.aspx?id=" + actu.id_actu
    Et dans actu.aspx, il suffit de récupérer la valeur de id_actu via Request.QueryString("id") et d'utiliser cette valeur pour récupérer l'actu correspondante dans la base.

    Par contre, j'ai pas l'impression que tu aies bien compris l'intérêt d'ASP.NET... si c'est pour générer du HTML à la main comme ça, autant faire du PHP (et encore, c'est plus simple en PHP). Il y a plein de contrôles faits pour afficher chaque élément d'une liste d'une certaine manière, sans générer le HTML à la main (Repeater, DataList, etc).

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Merci tomlev,

    j'ai donc créer mon lien dans ma page vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "actu.aspx?id=" + actu.id_actu
    Mais comment assigné la valeur de id_actu de ma base de données dans ma page aspx.

    j'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% Request.queryString("id") %>

  7. #7
    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
    Citation Envoyé par benny-blanco Voir le message
    Mais comment assigné la valeur de id_actu de ma base de données dans ma page aspx.
    Je ne comprends pas ta question

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Disons que je ne sais pas comment dire au programme que l'id de request.querystring correspond a l'id_actu de ma table actu.

    J'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      Dim query = From actu In context.actu Order By actu.date_actu Descending
                Dim queryCount = (From actu In context.actu Select actu.id_actu).Count
                If queryCount < 1 Then
                    Me.Button_supprimer.Visible = False
                End If
     
                For Each actu In query
                    Dim id As String = Request.QueryString(actu.id_actu.ToString)
                    Me.Literal_actu.Text += "<div class=""pos1"">"
                    Me.Literal_actu.Text += "<div class=""photo"">"
                    Me.Literal_actu.Text += "<img src=""" + actu.image_actu + """/>"
                    Me.Literal_actu.Text += "</div>"
                    Me.Literal_actu.Text += "<li>"
                    Me.Literal_actu.Text += "<h2>"
     
                    Me.Literal_actu.Text += actu.titre + vbCrLf
                    Me.Literal_actu.Text += "<span>"
                    Me.Literal_actu.Text += "Le " + actu.date_actu
                    Me.Literal_actu.Text += "</span>"
                    Me.Literal_actu.Text += "</h2>"
                    Me.Literal_actu.Text += actu.theme
                    Me.Literal_actu.Text += "<p>"
                    Me.Literal_actu.Text += actu.contenu
                    Me.Literal_actu.Text += "</p>"
                    Me.Literal_actu.Text += "<a href=""actu.aspx?id=" + actu.id_actu.ToString + """> + D'infos ""</a>"
                    Me.Literal_actu.Text += "</li>"
                    Me.Literal_actu.Text += "</div>"
    Mais comme je m'en douter ça ne marche pas.

    J'ai également essayé dans ma page actu.aspx d'insere un sqlDataSource pour récupérer seulement les id_actu de ma table. Et mettre en relation le queryString et le dataSource.

    Mais encore une fois ça ne marche pas.

    je te montre également ma page actu.aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false"
        MaintainScrollPositionOnPostback="true" CodeFile="actu.aspx.vb" Inherits="actu" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
     <div id="site">
     
          <%--  <div class="image">
                <img src="ressources/images/actu.jpg" />
            </div>--%>
            <div id="FormActu">
            <ul>
            <asp:Literal ID="Literal_actu" runat="server"></asp:Literal>
            </ul>
            </div>
            <br />
     
            <div class="clear"></div>
             <div class="crud1">
            <asp:Button ID="Button_action_ajouter" CssClass="boutonValider" runat="server" Text="Ajouter" />
            <asp:Button runat="server" ID="Button_supprimer" CssClass="boutonValider" Text="Supprimer" />
            <asp:TextBox ID="TextBox_id_actu_supprimer" Visible="false" Text="Saisir id_actu a supprimer"
                runat="server" Width="190px"></asp:TextBox>
            <asp:Button ID="button_clear" runat="server" CssClass="boutonValider" Text="Effacer" Visible="false" />
            <asp:Button ID="Button_valider_supp" runat="server" CssClass="boutonValider" Text="Valider" Visible="false" /><asp:Literal
                ID="literal_erreur_sup" runat="server"></asp:Literal>
            <asp:Button ID="button_annuler_supp" CssClass="boutonValider" runat="server" Text="Annuler" Visible="false" />
            <asp:Button runat="server" ID="Bouton_Modifier" CssClass="boutonValider" Text="Modifier" />
            </div>
        </div>
    </asp:Content>
    Depuis 2 h j'essaie en vain, je cherche sur le net mais trouve aucune info.

    J'espere vraiement, Tomlev que tu pourra m'aider car la je suis vraiement bloqué.

    En tout cas merci a toi

    cdl

    benny

  9. #9
    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
    J'ai l'impression que tu mélanges un peu tout... il te faut 2 pages : une pour afficher la liste des actus, et une pour afficher le détail d'une actu spécifique (disons actu_details.aspx). C'est dans cette dernière que tu dois récupérer le id_actu à partir de la QueryString, pas dans la page qui affiche la liste (qui ne fait que fournir la valeur de id_actu pour le lien)

  10. #10
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Ah oui effectivmeent ça parait tout de suite plus cohérent.

    J'ai donc maintenant dans ma page actu.aspx.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Me.Literal_actu.Text += "<a href=""actu_fiche.aspx?id=" + actu.id_actu.ToString + """> + D'infos ""</a>"
    Mais quand dans ma fiche actu, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        <% Request.QueryString("id") %>
    il me dit qu'un accès a la propriété doit assigner la propriété ou utiliser sa valeur.

    J'ai également essayé dans fiche_actu.aspx.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            If Request.QueryString("id") IsNot Nothing Then
                Dim context As New compteBancaireModel.compteBancaireEntities
                Dim query = From actu In context.actu
     
                For Each actu In query
                    Me.literal_liste_actu.Text += actu.theme.ToString
                Next
            End If
        End Sub
    Il m'affiche tout les theme de mes actu, sans distinction de l'id.

    Désolé si toute mes question te paraisse abérante, voir même stupide. Mais je débute en prog

    Merci par avance pour ton aide

    cdl

    benny

  11. #11
    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
    Citation Envoyé par benny-blanco Voir le message
    Mais quand dans ma fiche actu, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        <% Request.QueryString("id") %>
    il me dit qu'un accès a la propriété doit assigner la propriété ou utiliser sa valeur.
    Parce que tu accèdes à QueryString("id") sans utiliser ni modifier la valeur... Avec <%= Request.QueryString("id") %>, ça devrait afficher la valeur de l'id

    Citation Envoyé par benny-blanco Voir le message
    J'ai également essayé dans fiche_actu.aspx.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            If Request.QueryString("id") IsNot Nothing Then
                Dim context As New compteBancaireModel.compteBancaireEntities
                Dim query = From actu In context.actu
     
                For Each actu In query
                    Me.literal_liste_actu.Text += actu.theme.ToString
                Next
            End If
        End Sub
    Il m'affiche tout les theme de mes actu, sans distinction de l'id.
    C'est normal, tu n'utilise jamais la valeur de l'id, il ne peut pas deviner qu'il faut filtrer la requête avec... De plus, tu n'as pas besoin de faire une boucle, puisque tu ne veux qu'un seul élément. En supposant que l'id d'une actu soit de type Int32, tu peux faire quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            If Request.QueryString("id") IsNot Nothing Then
                Dim id = Convert.ToInt32(Request.QueryString("id"))
                Dim context As New compteBancaireModel.compteBancaireEntities
                Dim query = From actu In context.actu Where actu.id_actu = id
                Dim actu = query.FirstOrDefault()
                If actu IsNot  Nothing Then
                    Me.literal_liste_actu.Text += actu.theme.ToString
                End If
            End If
        End Sub

  12. #12
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Comment dire ............

    Juste respect.

    Merci grâce à toi je suis enfin débloqué.

    Encore merci de ton aide précieuse et de ta gentillesse.

    Passe un bon dimanche.

    Cdl

    Benny

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

Discussions similaires

  1. lien methode get en flash
    Par WEBANNONCE dans le forum Flash
    Réponses: 6
    Dernier message: 15/09/2006, 13h14
  2. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 10h23
  3. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  4. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 09h53
  5. [Javascript] Suppression de lien dynamique
    Par Invité4 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/01/2005, 10h36

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