GetArticlesRss.aspx
注意紫色底板的代码
<%
...
@ 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 >
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 >
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;
}
}
}