在網站內加入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鍵運行程序,測試網站的訂閱功能。
相關文章
相關標籤/搜索