在網站內加入RSS功能(下)

 

圖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鍵運行程序,測試網站的訂閱功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章