GetArticlesRss.aspx
<%...@ Page Language="C#" AutoEventWireup="true" ContentType="text/xml"
EnableTheming="false"
CodeFile="GetArticlesRss.aspx.cs" Inherits="GetArticlesRss" %>
<head runat="server" visible="false"></head>
程序代码
程序代码
ReadRss.aspx
程序代码
程序代码
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ad<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>/pagead/show_ads.js">
<%...@ Page Language="C#" AutoEventWireup="true" ContentType="text/xml"
EnableTheming="false"
CodeFile="GetArticlesRss.aspx.cs" Inherits="GetArticlesRss" %>
<head runat="server" visible="false"></head>

<asp:Repeater id="rptRss" runat="server">
<HeaderTemplate>
<rss version="2.0">
<channel>
<title><![CDATA[The Beer House: <%# RssTitle %>]]></title>
<link><%...# FullBaseUrl %></link>
<description>The Beer House: the site for beer fanatics</description>
<copyright>Copyright 2005 by Marco Bellinaso</copyright>
</HeaderTemplate>
<ItemTemplate>
<item>
<title><![CDATA[<%# Eval("Title") %>]]></title>
<author><![CDATA[<%# Eval("AddedBy") %>]]></author>
<description><![CDATA[<%# Eval("Abstract") %>]]></description>
<link><![CDATA[<%# FullBaseUrl + "ShowArticle.aspx?ID="+
Eval("ID") %>]]></link>
<pubDate><%...# string.Format("{0:R}", Eval("ReleaseDate")) %></pubDate>
</item>
</ItemTemplate>
<FooterTemplate>
</channel>
</rss>
</FooterTemplate>
</asp:Repeater>
<HeaderTemplate>
<rss version="2.0">
<channel>
<title><![CDATA[The Beer House: <%# RssTitle %>]]></title>
<link><%...# FullBaseUrl %></link>
<description>The Beer House: the site for beer fanatics</description>
<copyright>Copyright 2005 by Marco Bellinaso</copyright>
</HeaderTemplate>
<ItemTemplate>
<item>
<title><![CDATA[<%# Eval("Title") %>]]></title>
<author><![CDATA[<%# Eval("AddedBy") %>]]></author>
<description><![CDATA[<%# Eval("Abstract") %>]]></description>
<link><![CDATA[<%# FullBaseUrl + "ShowArticle.aspx?ID="+
Eval("ID") %>]]></link>
<pubDate><%...# string.Format("{0:R}", Eval("ReleaseDate")) %></pubDate>
</item>
</ItemTemplate>
<FooterTemplate>
</channel>
</rss>
</FooterTemplate>
</asp:Repeater>

public partial class GetArticlesRss : BasePage
{
private string _rssTitle = "Recent Articles";
public string RssTitle
{
get { return _rssTitle; }
set { _rssTitle = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
int categoryID = 0;
if (!string.IsNullOrEmpty(this.Request.QueryString["CatID"]))
{
categoryID = int.Parse(this.Request.QueryString["CatID"]);
Category category = Category.GetCategoryByID(categoryID);
_rssTitle = category.Title;
}
List<Article> articles = Article.GetArticles(true, categoryID,
0, Globals.Settings.Articles.RssItems);
rptRss.DataSource = articles;
rptRss.DataBind();
}
}
{
private string _rssTitle = "Recent Articles";
public string RssTitle
{
get { return _rssTitle; }
set { _rssTitle = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
int categoryID = 0;
if (!string.IsNullOrEmpty(this.Request.QueryString["CatID"]))
{
categoryID = int.Parse(this.Request.QueryString["CatID"]);
Category category = Category.GetCategoryByID(categoryID);
_rssTitle = category.Title;
}
List<Article> articles = Article.GetArticles(true, categoryID,
0, Globals.Settings.Articles.RssItems);
rptRss.DataSource = articles;
rptRss.DataBind();
}
}
ReadRss.aspx

<div class="sectiontitle">
<asp:Literal runat="server" ID="lblTitle"/>
<asp:HyperLink ID="lnkRss" runat="server" ToolTip="Get the RSS for this content">
<asp:Image runat="server" ID="imgRss" ImageUrl="~/Images/rss.gif"
AlternateText="Get RSS feed" />
</asp:HyperLink>
</div>
<asp:DataList id="dlstRss" Runat="server" EnableViewState="False">
<ItemTemplate>
<small><%# Eval("PubDate", "{0:d}") %></small>
<br>
<div class="sectionsubtitle"><asp:HyperLink Runat="server" ID="lnkTitle"
NavigateUrl='<%# Eval("Link") %>' Text='<%# Eval("Title") %>' /></div>
<%...# Eval("Description") %>
</ItemTemplate>
</asp:DataList>
<p style="text-align: right;">
<small><asp:HyperLink Runat="server" ID="lnkMore" /></small></p>
<asp:Literal runat="server" ID="lblTitle"/>
<asp:HyperLink ID="lnkRss" runat="server" ToolTip="Get the RSS for this content">
<asp:Image runat="server" ID="imgRss" ImageUrl="~/Images/rss.gif"
AlternateText="Get RSS feed" />
</asp:HyperLink>
</div>
<asp:DataList id="dlstRss" Runat="server" EnableViewState="False">
<ItemTemplate>
<small><%# Eval("PubDate", "{0:d}") %></small>
<br>
<div class="sectionsubtitle"><asp:HyperLink Runat="server" ID="lnkTitle"
NavigateUrl='<%# Eval("Link") %>' Text='<%# Eval("Title") %>' /></div>
<%...# Eval("Description") %>
</ItemTemplate>
</asp:DataList>
<p style="text-align: right;">
<small><asp:HyperLink Runat="server" ID="lnkMore" /></small></p>

public partial class RssReader : System.Web.UI.UserControl
{
public string RssUrl
{
get { return lnkRss.NavigateUrl; }
set
{
string url = value;
if (value.StartsWith("/") || value.StartsWith("~/"))
{
url = (this.Page as BasePage).FullBaseUrl + value;
url = url.Replace("~/", "");
}
lnkRss.NavigateUrl = url;
}
}
public string Title
{
get { return lblTitle.Text; }
set { lblTitle.Text = value; }
}
public int RepeatColumns
{
get { return dlstRss.RepeatColumns; }
set { dlstRss.RepeatColumns = value; }
}
public string MoreUrl
{
get { return lnkMore.NavigateUrl; }
set { lnkMore.NavigateUrl = value; }
}
public string MoreText
{
get { return lnkMore.Text; }
set { lnkMore.Text = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (this.RssUrl.Length == 0)
throw new ApplicationException("The RssUrl cannot be null.");
// create a DataTable and fill it with the RSS data,
// then bind it to the Repeater control
XmlDataDocument feed = new XmlDataDocument();
feed.Load(this.RssUrl);
XmlNodeList posts = feed.GetElementsByTagName("item");
DataTable table = new DataTable("Feed");
table.Columns.Add("Title", typeof(string));
table.Columns.Add("Description", typeof(string));
table.Columns.Add("Link", typeof(string));
table.Columns.Add("PubDate", typeof(DateTime));
foreach (XmlNode post in posts)
{
DataRow row = table.NewRow();
row["Title"] = post["title"].InnerText;
row["Description"] = post["description"].InnerText.Trim();
row["Link"] = post["link"].InnerText;
row["PubDate"] = DateTime.Parse(post["pubDate"].InnerText);
table.Rows.Add(row);
}
dlstRss.DataSource = table;
dlstRss.DataBind();
}
catch (Exception)
{
this.Visible = false;
}
}
}
{
public string RssUrl
{
get { return lnkRss.NavigateUrl; }
set
{
string url = value;
if (value.StartsWith("/") || value.StartsWith("~/"))
{
url = (this.Page as BasePage).FullBaseUrl + value;
url = url.Replace("~/", "");
}
lnkRss.NavigateUrl = url;
}
}
public string Title
{
get { return lblTitle.Text; }
set { lblTitle.Text = value; }
}
public int RepeatColumns
{
get { return dlstRss.RepeatColumns; }
set { dlstRss.RepeatColumns = value; }
}
public string MoreUrl
{
get { return lnkMore.NavigateUrl; }
set { lnkMore.NavigateUrl = value; }
}
public string MoreText
{
get { return lnkMore.Text; }
set { lnkMore.Text = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (this.RssUrl.Length == 0)
throw new ApplicationException("The RssUrl cannot be null.");
// create a DataTable and fill it with the RSS data,
// then bind it to the Repeater control
XmlDataDocument feed = new XmlDataDocument();
feed.Load(this.RssUrl);
XmlNodeList posts = feed.GetElementsByTagName("item");
DataTable table = new DataTable("Feed");
table.Columns.Add("Title", typeof(string));
table.Columns.Add("Description", typeof(string));
table.Columns.Add("Link", typeof(string));
table.Columns.Add("PubDate", typeof(DateTime));
foreach (XmlNode post in posts)
{
DataRow row = table.NewRow();
row["Title"] = post["title"].InnerText;
row["Description"] = post["description"].InnerText.Trim();
row["Link"] = post["link"].InnerText;
row["PubDate"] = DateTime.Parse(post["pubDate"].InnerText);
table.Rows.Add(row);
}
dlstRss.DataSource = table;
dlstRss.DataBind();
}
catch (Exception)
{
this.Visible = false;
}
}
}