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 :

[C#] balise <a> en fonction d'infos dans l [Débutant(e)]


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [C#] balise <a> en fonction d'infos dans l
    Salut à tous !

    J'ai cherché dans le forum, mais n'ai pas trouvé réponse à ma question...
    Alors voilà ma situation :
    j'utilise un repeater qui va chercher les 5 dernières news et affiche leur titre sur la page web principale. Quand je clique sur un titre, j'arrive sur une page où je peux lire l'intégralité de la news.
    Mon problème : certaines news n'auront probablement pas de texte. Il faut donc que je crée un lien vers le texte de la news uniquement lorsqu'il y a un texte ! Comment faire cela ?
    Je peux très bien utiliser deux requêtes SQL ( l'une utilisant la clause ... WHERE NewsText = ' ' ...), mais le problème, c'est que je voudrais afficher ces 5 news dans l'ordre chronologique, et pas dans l'ordre "les news qui ont du texte, puis les news qui n'en ont pas".

    Est-ce que quelqu'un sait comment faire ?
    Dans ma page Web, j'ai ça :
    <a href="Content.aspx?id=<%# DataBinder.Eval(Container.DataItem, "IDNews") %>">
    <%# DataBinder.Eval(Container.DataItem, "NewsTitle") %>
    </a>
    Si je pouvais, je ferai simplement, dans le CodeBehind, une condition afin d'utiliser ou pas la balise <a>... mais je ne sais pas faire. C'est possible ?

    D'avance merci pour vos réponse !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 24
    Points : 26
    Points
    26
    Par défaut Re: [ASPX][C#] balise <a> en fonction d'infos dans l
    Citation Envoyé par Pierrre
    <a href="Content.aspx?id=<%# DataBinder.Eval(Container.DataItem, "IDNews") %>">
    <%# DataBinder.Eval(Container.DataItem, "NewsTitle") %>
    </a>

    J'ai une petite idée mais je ne sais pas si ca va te convenir, je te donne le code en vb.net tu n'auras plus qu'a traduire
    Donc tu créés une fonction dans le code behind:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Function CreateUrl(ByVal Value as Object) as String
                 If isdbnull(Value) = True Then
                     return "# "
                 Else
                     return "Content.aspx?id=" & Value.ToString()
                 End If
    End function
    Puis dans la partie "html" tu mets ca à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href='<%# CreateUrl(DataBinder.Eval(Container.DataItem, "IDNews"))%>'><%# DataBinder.Eval(Container.DataItem, "NewsTitle") %></a>
    Je pense que ca devrait fonctionner

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup !
    J'ai bidouillé ma propre fonction, et en fait, je retourne carrément tout ce que je voudrais... et ça marche !

    Je vous montre :
    dans le code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public string createUrl(object Data, object ID, object Title)
    		{
    			if((string)Data=="")
    				return Title.ToString();
    			else
    				return "<a href=Content.aspx?id=" + ID.ToString() + ">" + Title.ToString() + "</a>";
    		}
    dans ma page web :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%# createUrl(DataBinder.Eval(Container.DataItem, "NewsData"), DataBinder.Eval(Container.DataItem, "IDNews"), DataBinder.Eval(Container.DataItem, "NewsTitle")) %>
    Merci beaucoup ! Maintenant je sais qu'on peut passer n'importe quoi dans le code de la page web... je pensais que c'était réservé à des fonctions obscures (pour moi) !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  2. Variable qui évolue en fonction des choix dans formulaire
    Par stefou007 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2005, 22h40
  3. fonction équivalente à la fonction MOD (oracle) dans ms-sql
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/07/2005, 16h14
  4. Réponses: 5
    Dernier message: 06/05/2005, 19h10
  5. Réponses: 12
    Dernier message: 14/06/2004, 13h06

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