Introduction
RSS-Feeds are great to stay informed about recent changes in your favorite websites. But it is quiet hard to read the XML documents for humans. So, I will show how you can bind RSS feeds (for example, the newest articles on CodeProject) to a GridView
.
The GridView
First, create a new aspx file and drop a GridView
to the form. Next, turn off "Auto generate fields" from the GridView
properties. Last, create a Template field for the hyperlink to the article and a bound field for the description. Here is the code:
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<a href=<%# Eval("link") %>
target=_blank><%# Eval("title") %></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="description"
HeaderText="Description" />
</Columns>
</asp:GridView>
</form>
</body>
Now, you can copy the code for the GridView
as many times you need it. Maybe a GridView
for aspalliance as well.
The code behind
Import the namespace System.Data
and create the Page_Load
event. Then, call the function BindGrid
for every RSS-feed you will display on your web page. The function BindGrid
needs three parameters:
- the string pointing to the URL of the news feed
- the
GridView
object that will display the news - and an integer indicating which part of the feed will be bound
Imports System.Data
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
BindGrid("http://www.codeproject.com/" & _
"webservices/articlerss.aspx", _
GridView1, 3)
BindGrid("http://aspalliance.com/rss.aspx", _
GridView2, 2)
End Sub
Sub BindGrid(ByVal strRss As String, ByVal oGrid _
As GridView, ByVal iTable As Integer)
Dim oDs As New DataSet
oDs.ReadXml(strRss)
oGrid.DataSource = oDs.Tables(iTable)
oGrid.DataBind()
End Sub
End Class
BindGrid
creates a new DataSet
object and reads the feed using ReadXml
. Then the XML document is bound to the GridView
. You can also find an online example here: How to bind RSS feeds to a GridView.