RSS Feeds are XML Formatted documents using which updated data can be read from different website without actually visiting it.
To create a rss feed in asp.net all we need is to follow following steps:-
1)Create New Website in Visual Studio.
2)In WebForm Drag a Repeater Control.
3)In the Page Directive add ContentType="text/xml".
Feeds.aspx
Now in code behind file we will get data from database and bind the repeater.
Feeds.aspx.cs
Note:- Above i have used Literal instead of label since Label will generate HTML ,but we only need to show plain text.
To create a rss feed in asp.net all we need is to follow following steps:-
1)Create New Website in Visual Studio.
2)In WebForm Drag a Repeater Control.
3)In the Page Directive add ContentType="text/xml".
Feeds.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Feeds.aspx.cs" Inherits="_Default" %> <asp:Repeater id="rptFeeds" runat="server" onitemdatabound="rptFeeds_ItemDataBound" >
<HeaderTemplate> <rss version="2.0"> <channel> <title>Test Feeds</title> <description></description> <copyright></copyright> </HeaderTemplate> <ItemTemplate> <blog> <title><%# Eval("Blog_Title")%></title> <url><%# Eval("Blog_Url")%></url> <date><%# Eval("Blog_date")%></date> <description><%# Eval("Blog_Description")%></description> </blog> </ItemTemplate> <FooterTemplate> <asp:Literal ID="ltlEmpty" runat="server" Visible="false" ></asp:Literal> </channel> </rss> </FooterTemplate> </asp:Repeater>
Now in code behind file we will get data from database and bind the repeater.
Feeds.aspx.cs
public partial class Feeds : System.Web.UI.Page { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["blogConnection"].ConnectionString); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { feedsbind(); } } protected void feedsbind() { SqlCommand cmd = new SqlCommand("Select * from Blogs", conn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); rptFeeds.DataSource = ds; rptFeeds.DataBind(); } protected void rptFeeds_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Footer) { if(rptFeeds.Items.Count==0) { Literal ltlEmpty= (Literal)(e.Item.FindControl("ltlEmpty")); ltlEmpty.Text="No Blogs Found."; ltlEmpty.Visible=true; } } } }
Note:- Above i have used Literal instead of label since Label will generate HTML ,but we only need to show plain text.