[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 :
Citation:
<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 ! :D
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:
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:
1 2
|
<a href='<%# CreateUrl(DataBinder.Eval(Container.DataItem, "IDNews"))%>'><%# DataBinder.Eval(Container.DataItem, "NewsTitle") %></a> |
Je pense que ca devrait fonctionner :wink: