在网站内加入RSS功能(下)
时间:2010-09-09 来源:leiy
图5-13 “浏览”选项卡界面 (8)必须先添加对RSS工具所在的命名空间的引用,语法是:“Using RssToolkit;”。 (9)在“Page_Load”事件中,调用RSS工具的方法,实现:GridView,控件的数据源绑定,具体实现代码如清单5-5所示。 代码清单5-5 GridView的数据源后绑定代码 using RssToolkit; public partial class ComplexRSS : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //创建一个频道 GenericRssChannel c = GenericRssChannel.LoadChannel("http://blog.csdn. net/ championchen79/category/197094.aspx/rss"); //为GridView绑定数据源 //数据源来自频道中的所有项目 GridView1.DataSource = c.SelectItems(); GridView1.DataBind(); } } (10)全部完成后,按“Ctrl+S”键保存所做的设计。 (11)将此页设置为起始页,按F5键运行程序,测试网格绑定的频道列表是否正常导航,最终运行界面如图5-14所示。 图5-14 复杂阅读器运行界面 5.4.4 让站点提供订阅功能 RSS工具包总共提供了两个控件,一个是“RssDataSource”,在简单阅读器的例子中,已经介绍了其使用方法;另一个是“RssHyperLink”,此控件主要用来为站点提供订阅功能。本节将通过介绍此控件来逐步完成站点的订阅功能,具体步骤如下。 (1)要在站点中实现订阅功能,必须提供允许用户订阅的功能列表,本节手工编写两个频道,提供的内容是前面创建的两个阅读器的RSS订阅。 (2)在网站根目录下,添加一个“一般处理程序”文件,命名为“Sample.ashx”。处理程序主要是使用继承自“IHttpHandler”接口的Web处理类,完成各种文件的转换,并让Web应用程序识别这些文件。 (3)本例使用的处理接口由RSS工具提供,所以必须在文件内引用工具的命名空间“RssToolkit”,最后添加频道的处理内容,如代码清单5-6所示。在清单中有一个频道和两个项。 代码清单5-6 示例RSS文件的处理程序 <%@ WebHandler Language="C#" Class="Sample" %> using System; using System.Web; using RssToolkit; public class Sample :GenericRssHttpHandlerBase { protected override void PopulateChannel(string channelName, string userName) { //添加频道 Channel["title"] = "Sample Channel"; //如果频道名称不为空 if (!string.IsNullOrEmpty(channelName)) { //设置频道名称 Channel["title"] += " '" + channelName + "'"; } //如果访问用户名不为空 if (!string.IsNullOrEmpty(userName)) { //设置用户名名称 Channel["title"] += " (generated for " + userName + ")"; } //设置频道的默认其他属性 //此处是简单阅读器的RSS Channel["link"] = "~/Default.aspx"; Channel["description"] = "Channel For Test in ASP.NET RSS"; Channel["ttl"] = "10"; Channel["name"] = channelName; Channel["user"] = userName; //定义项 GenericRssElement item; //创建一个频道内的项 item = new GenericRssElement(); //为项的基本属性赋值 item["title"] = "Complex"; item["description"] = "Complex RSS using RssDataSource"; item["link"] = "~/ComplexRSS.aspx"; //将项添加到频道内 Channel.Items.Add(item); //创建一个频道内的项 item = new GenericRssElement(); //为项的基本属性赋值 item["title"] = "Simple"; item["description"] = "Simple RSS is tested"; item["link"] = "~/SimpleReader.aspx"; //将项添加到频道内 Channel.Items.Add(item); } } (4)打开“Default.aspx”页面,将一个“RssHyperLink”控件拖曳到设计视图。 (5)按F4键出现其属性窗口,修改属性“NavigateUrl”为“~/Sample.ashx”。 (6)按“Ctrl+S”键保存所有的设计。 (7)按F5键运行程序,测试网站的订阅功能。
相关阅读 更多 +