begin process at 2012 05 27 07:07:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > UN MOYEN SIMPLE POUR FAIRE DÉFILER DU FLUX RSS SUR UNE PAGE ASP.

UN MOYEN SIMPLE POUR FAIRE DÉFILER DU FLUX RSS SUR UNE PAGE ASP.


 Information sur la source

Note :
Aucune note
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :rss, scrolling, scroll, news, flux Niveau :Initié Date de création :27/09/2006 Vu / téléchargé :13 523 / 507

Auteur : tuyo2poil

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Je m'arrache les tifs depuis trois jours pour faire défiler des news
dans une textbox ou n'importe quoi de lisible :
entre l'extraction XML du flux (réservée à une élite !) et cette charognerie de javascript qui marche jamais (avec les âneries habituelles du style 'ligne 561 il manque le car "}" alors que ton script fait trois lignes....), il faut être de "bonne composition"....
Or, un certain Dmitry Robsman a pondu un control qui lit les Rss, mais surtout qui
se comporte comme un datasource. ça s'appelle RSSToolKit et c'est une petite merveille.
Vous pouvez aller voir ça sur son blog : http://blogs.msdn.com/dmitryr/

ce control (RSSDataSource) permet de recuperer les infos de n'importe quel flux rss. il
suffit ensuite de les envoyer dans un marquee (une zone de texte defilante) et le tour est joué.

bon le probléme a été d'extraire les news, puis de trouver le moyen de modifier le texte
du marquee. vu que c'est impossible, j'insere carrément un nouveau control dans la page avec les balises et le texte a afficher. pour agrémenter le truc, j'ajoute en plus un hyperlien qui pointe vers la page de l'info affichée.

pour faire fonctionner tout ça, il faut :
télécharger la dll : http://blogs.msdn.com/dmitryr/attachment/561200.as hx
copier les bouts de code qui suivent dans votre IDE VS2006.

bon, c'est du direct : pas de controle d'erreur ni rien.
et y a surement des bugs, mais ça marche au moins chez moi !
si vous trouvez plus simple pour afficher des news RSS dans une scrolling box,
je suis preneur.


Source

  • code VB.NET :
  • Imports System
  • 'remplissage d'un gridview à partir du Control RssDatasource
  • '(vous pouvez utilisez un autre moyen pour éplucher le XML du RSS
  • 'mais j'ai pas le temps de tricoter sur le sujet)
  • Dim gv As New GridView
  • gv.AutoGenerateColumns = True
  • gv.DataSource = RssDataSource1
  • gv.DataBind()
  • Dim info As String
  • Dim i As Integer
  • 'on parcourt tous les éléments du Rss
  • For i = 0 To gv.Rows.Count - 1
  • 'là on concatene les differents news trouvés dans le flux Rss
  • 'avec l'info elle meme, la date, et petite cerise sur le gateau,
  • 'un lien vers le site fabriqué a la manivelle avec un bout de javascript
  • info = info + "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Le " + gv.Rows(i).Cells(3).Text + "&nbsp;>>>&nbsp; " + gv.Rows(i).Cells(0).Text + "&nbsp; <a href=" & Chr(34) & gv.Rows(i).Cells(2).Text & Chr(34) & " onclick=" & Chr(34) & "yourfunction(); return false" & Chr(34) & ">Voir la suite</a>"
  • 'en plus clair, l'info va ressembler à ça : le 25/12/2054 >>> le pere noel n'existe plus [Voir la suite] etc....
  • Next
  • 'on balance le resultat (une string de 3 km de long mais on s'en fout)
  • 'dans un marquee, puis le tout dans un placeholder.
  • placeholder1.Controls.Add(New LiteralControl("<marquee>" & info & "</marquee>"))
  • 'vous pouvez modifier les attributs du marquee pour qu'il aille plus
  • 'vite, qu'il soit jaune ou vert ou bleu, qu'il saute au plafond etc...
  • 'y a assez de doc la dessus sur le Web
  • End Sub
  • Code a mettre dans la page Aspx :
  • /**** à mettre en declaration *********************/
  • <%@ Register Assembly="RssToolkit" Namespace="RssToolkit" TagPrefix="cc1" %>
  • /**** à mettre n'importe ou **********************/
  • <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
  • <cc1:RssDataSource ID="RssDataSource1" runat="server" MaxItems="0"
  • Url="http://www.liberation.fr/interactif/rss/actualites/"></cc1:RssDataSource>
  • /***********************************************
  • * note : vous pouvez bien sur mettre l'url que vous voulez suivant vos centres d'interet.
  • * note 2 : oubliez pas non plus de déclarer la dll 'rsstoolkit.dll'
  • ***********************************************/
code VB.NET :

Imports System

'remplissage d'un gridview à partir du Control RssDatasource
'(vous pouvez utilisez un autre moyen pour éplucher le XML du RSS
'mais j'ai pas le temps de tricoter sur le sujet)


        Dim gv As New GridView
        gv.AutoGenerateColumns = True
        gv.DataSource = RssDataSource1
        gv.DataBind()

        Dim info As String
        Dim i As Integer

	'on parcourt tous les éléments du Rss
        For i = 0 To gv.Rows.Count - 1

	'là on concatene les differents news trouvés dans le flux Rss
	'avec l'info elle meme, la date, et petite cerise sur le gateau,
	'un lien vers le site fabriqué a la manivelle avec un bout de javascript
 	    
            info = info + "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Le " + gv.Rows(i).Cells(3).Text + "&nbsp;>>>&nbsp; " + gv.Rows(i).Cells(0).Text + "&nbsp; <a href=" & Chr(34) & gv.Rows(i).Cells(2).Text & Chr(34) & " onclick=" & Chr(34) & "yourfunction(); return false" & Chr(34) & ">Voir la suite</a>"
		
	    'en plus clair, l'info va ressembler à ça : le 25/12/2054 >>> le pere noel n'existe plus  [Voir la suite]     etc....

        Next


	'on balance le resultat (une string de 3 km de long mais on s'en fout)
	'dans un marquee, puis le tout dans un placeholder.  

        placeholder1.Controls.Add(New LiteralControl("<marquee>" & info & "</marquee>"))

	'vous pouvez modifier les attributs du marquee pour qu'il aille plus
	'vite, qu'il soit jaune ou vert ou bleu, qu'il saute au plafond etc...        
	'y a assez de doc la dessus sur le Web

    End Sub


Code a mettre dans la page Aspx :


/**** à mettre en declaration *********************/
<%@ Register Assembly="RssToolkit" Namespace="RssToolkit" TagPrefix="cc1" %>


/**** à mettre n'importe ou **********************/

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> 

<cc1:RssDataSource ID="RssDataSource1" runat="server" MaxItems="0" 
Url="http://www.liberation.fr/interactif/rss/actualites/"></cc1:RssDataSource>

/***********************************************
* note : vous pouvez bien sur mettre l'url que vous voulez suivant vos centres d'interet.
* note 2 : oubliez pas non plus de déclarer la dll 'rsstoolkit.dll'
***********************************************/


 Conclusion

j'ai joint un exemple de site Web ultra simple que vous pouvez utiliser directement.

j'espere que ça servira a kekun....

bon developpement !

Lpg

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

CONVERSION D'UNE DATE/HEURE STANDARD VERS DATE/HEURE CONFORM... par processus
Source avec Zip Source .NET (Dotnet) AGGREGER PLUSIEURS FLUX RSS DANS UN GRIDVIEW par azra
Source avec Zip LECTEUR DE FLUX RSS OBJET par Yoyo2B
Source avec Zip Source avec une capture Source .NET (Dotnet) UN DATAGRID COMPLET (ADD, UPDATE, DELETE, ...) par jesusonline
Source .NET (Dotnet) ECRIRE UN FEED RSS ET LE METTRE EN CACHE par jesusonline

Commentaires et avis

Commentaire de Alain Proviste le 27/09/2006 19:40:20 administrateur CS

héhé c'est pas si dur que ça de parser les rss, pas besoin d'une usine à gaz comme rssdotnet ou rsstoolkit. regarde codessources justement, on a évité au max les composants externes, tout est fait maison, et as tu déjà vu un rss, externe ou interne, dérailler :p

Commentaire de jesusonline le 29/09/2006 14:35:23 administrateur CS

Bonjour,

Pas d'accord avec toi proviste le RSS toolkit est vraiment bien foutu on l'a meme utilisé sur la partie emploi de CodeS-SourceS ;-)

Par contre CodeS-SourceS n'est pas un dépotoire d'astuces, en lisant ta source j'ai l'impression que tu n'as pas le temps et pas l'envie de t'embeter à faire une source compléte, si tu pouvais modifier ta source ce serait sympa.

Pour ce qui est de JavaScript ou le parsing de XML il ne faut pas dire que ca marche jamais, parser un XML en JavaScript ne me fais absolument pas peur, dit juste que tu ne sais pas faire car trop compliqué pour toi ;-)

Commentaire de Alain Proviste le 29/09/2006 14:46:52 administrateur CS

ah oui mais le rsstoolkit est sorti bien après ce que j'ai fait !!

Commentaire de tuyo2poil le 29/09/2006 15:04:16

j'ai mis un petit site web complet en zip : tu veux que je fasse quoi de plus ? ceux qui ont besoin du truc vont bien se débrouiller avec !

et si ce site n'est effectivement pas un "dépotoir", c'est pas non plus le sanctuaire de la perfection : on y colle nos snippets, et on echange nos astuces...

concernant vos remarques sur le javascript, vous oubliez un détail : si il faut passer trois jours pour faire fonctionner un code de 10 lignes, qu'on soit mauvais ou pas, autant faire de l'assembleur.

et pour le XML je reconnais que ça m'a vite pomper le jonglage entre les elements les nodes les items et toute la clique. j'suis pas seulement nul, mais pressé aussi !

bon WE les gars.

Commentaire de jesusonline le 29/09/2006 15:14:55 administrateur CS

C'est pas parce que tu as une mauvaise experience en JS que c'est une généralité. J'ai déjà écrit des classes javascript de plusieurs milliers de lignes et je n'ai pas mis beaucoup de temps ;-)

Mais je reconnais que le RSS toolkit est trés bien car justement c'est rapide et simple à mettre en place.

En ce qui concerne ta source ce serait bien de détailler un petit peu et d'employez un autre ton.

"entre l'extraction XML du flux (réservée à une élite !) et cette charognerie de javascript qui marche jamais (avec les âneries habituelles du style 'ligne 561 il manque le car "}" alors que ton script fait trois lignes....), il faut être de "bonne composition"...."

"'(vous pouvez utilisez un autre moyen pour éplucher le XML du RSS
'mais j'ai pas le temps de tricoter sur le sujet) "

Ensuite un lien vers le blog de Scott pour appronfondir le sujet aurait été pas mal :-)

http://weblogs.asp.net/scottgu/archive/2006/02/22/Awesome-ASP.NET-2.0-RSS-Tool_2D00_Kit-Released.aspx


PS : Proviste oui le rss toolkit n'existait pas quand tu avais fais le parseur pour CS ;-)

Commentaire de tuyo2poil le 29/09/2006 15:28:51

dis donc Jésus, tu te prends pas un peu pour le vrai ?
j'ai mis un lien vers le blog du créateur du RssToolkit : ton Scott je sais meme pas qui c'est...

et mon "ton" n'est qu'argotique, pas grossier ou agressif.
et puis quoi, tu vas pas nous faire un camembert pour ce pauvre bout de code dont tous le monde se fiche ! y a des choses beaucoup plus importantes dans la vie ! demande a un tetraplégique si il trouve mon code trop ceci ou trop cela ? et bin tu sais pas, y s'en bat les cacahuétes le pauvre ! et nous deux on est là comme des enfants gatés à tartiner des salades sur un sujet dont la portée dépasse pas la distance de planck...

Commentaire de jesusonline le 30/09/2006 11:05:19 administrateur CS

Scott Guthrie est le "Chef" des developpeurs de la plate forme .net, il était le chef de la division asp.net lors de sa création, c'est un peu le papa d'ASP.net

Si je cite son blog c'est que c'est la seule documentation web qui existe sur le rss toolkit et sans son post c'est trés difficile de comprendre commment ca fonctionne et ta source n'aide pas non plus.

Bref, parlons plutot de ta source. Ce que tu veux faire c'est afficher les derniers news dans une horrible balise <marquee> (qui est obsolete et trés agacante), OK pourquoi pas.
Pour cela regardons comment tu t'y prends, tu as un mis <rssDatasource pour pouvoir binder la source de donnée a un gridview et ensuite tu boucles sur les lignes du gridview !!! :| te rend tu compte des cout que ca engendre de créer un gridview dynamique de le binder tout ca pour recuperer des données que tu aurais pu récuperer directement à partir du rssdatasource ??? niveau perf c'est vraiment horrible.

ensuite tu te sert de AutoGenerateColumns="true" (normal, créer des colonnes dynamiquement dans un gridview c'est pas facile) cela veut dire que si on a un RSS ou l'ordre des elements est différent de celui que tu attends cela plante ! Le RSSDataSource est beaucoup plus puissant que ta simple bidouille !

Je ne fais pas que critiquer sans raison, donc voici un exemple  qui fait exactement la meme chose que toi et surtout qui fonctionnera sur tous les RSS ET avec des perfs bien meilleurs :

dans ta page tu mets :
        <marquee id="HorribleBalise" runat="server"></marquee>

et dans le code behind :
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim channel As RssToolkit.GenericRssChannel
        channel = RssToolkit.GenericRssChannel.LoadChannel("http://blogs.developpeur.org/MainFeed.aspx")

        Dim sb As New StringBuilder()

        For i As Integer = 0 To channel.Items.Count - 1
            Dim Item As RssToolkit.GenericRssElement = channel.Items(i)
            sb.AppendFormat("Le {2:d} <a href=""{0}"" title=""{1}"">{1}</a>", Item("link"), Item("title"), CDate(Item("pubDate")))
            If i < (channel.Items.Count - 1) Then
                sb.Append(" - ")
            End If
        Next

        HorribleBalise.InnerHtml = sb.ToString()

    End Sub

En faisant comme cela on a utilisé 10% du RSSDatasource ! Là ou il est interessant c'est quand on utilise l'outil Rssdl qui permet de créer des rss typé donc pas besoin d'utiliser le item("title") mais directement item.title et surtout pas besoin de faire une conversion de la date avec un CDate puisque le flux sera typé. Les exemples d'utilisation de rssdl sont justement dans le blog de Scott Guthrie et je ne suis pas sur que tu l'avais vu ;-)

Maintenant il serait bien que tu modifies ta source en t'inspirant de mon code et ou en utilisant rssdl.


Cyril

PS : quand a tes propos sur JavaScript ce serait bien que tu les retire de l'introduction du code, je suis un fervent défenseur de ce merveuilleux langage et ce que tu écrit montre que tu ne le connais absolument pas.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lire flux RSS [ par matlocker ] Bonjour a tous,Je voudrais ajouter&nbsp;le flux RSS present sur ce site et le mettre sur le miens. Je suis en ASP.NET.Quelqu'un pourrais me mettre sur RSS et publication [ par gyzmo222 ] Salut,Mon probl&#232;me n'est surement pas tr&#232;s compliqu&#233; mais je ne m'y connais vraiment pas en rss.J'ai r&#233;ussi &#224; cr&#233;er un r Connection flux RSS : System error: -2147012867 [ par asetti ] Bonjour,Je voudrais ajouter à mon site web en ASP un flux rss.J'ai donc télécharger des codes ASP (présent et sur ce site et sur d'autre) et je les ai flux RSS [ par imedgamra ] bonjour tout le monde,je suis en train de faire un projet supervision réseau (par un logiciel qui utilise une base de donnée SQLServer) avec affichage intégrer un flux rss au sein application réseau [ par marmarak ] miraj'ai besoin de savoir comment intégrer un flux rss au sein d'une application réseau contenantles mises à jour des équipements  qui se trouvent  da flux rss sur page .asp [ par sliverdust ] Bonjour,j'ai utilisé le script  Générer un flux RSS en asp3.En utilisant le script que j'ai légèrement modifier pour l'adapter à mon cas(base access). comment créer un flux rss dynamique en asp [ par sliverdust ] Bonjour, je désire créer un flux rss dynamique en asp avec une base de donnée access. est ce que c'est possible ?? si oui comment procéder ?? merci po intégration de NEWS RSS dans une page ASPX [ par heder ] Bonjours à tous, à l'aide, j'aimerais intégrer dans une partie de ma page accueil qui est en aspx des titres d'un flux rss de mon autre site. Juste comment intégrer texte d'un flux RSS ou d'un blog dans une box Flah CS3 ? [ par guillaume2g2 ] bonjour à tous !apres diverses recherches sur ce forum et google, je ne trouve pas comment intégrer un flux RSS (le texte d'un blog en l'occurence) da


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales