(1)在網站根目錄下,添加一個Web表單“ComplexRSS”。
(2)切換到設計檢視,將一個“GridView”控制項拖曳到介面中,並設計其樣式,具體樣式如代碼清單5-4所示。因為採用資料來源後綁定的技術,此處不需為“GridView”控制項配置資料來源。
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor= "#333333" GridLines="None">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor= "#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign= "Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
(3)設計完介面後,需要編寫實現綁定的代碼,此時要用到RSS工具的類庫,將其添加到此網站中。按右鍵網站根目錄,在彈出的捷徑功能表中,選擇“添加引用”功能表命令,彈出“添加引用”對話方塊,5-12所示。
(4)切換到“瀏覽”選項卡,5-13所示。
(5)通過“尋找範圍”下拉框,找到RSS工具所在的檔案夾“RssToolkit-1-0-0-1”,選擇其中的檔案夾“bin”,選中其中的檔案“RssToolkit.dll”。
(6)單擊“確定”按鈕,在網站根目錄下,多了一個“Bin”檔案夾,其中包含一個檔案,即“RssToolkit.dll”。
(7)對類檔案的引用已經完成,現在使用類提供的方法。按F7鍵進入“ComplexRSS”頁面的代碼介面。
(8)必須先添加對RSS工具所在的命名空間的引用,文法是:“Using RssToolkit;”。
(9)在“Page_Load”事件中,調用RSS工具的方法,實現:GridView,控制項的資料來源綁定,具體實現代碼如清單5-5所示。
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.4.4 讓網站提供訂閱功能
RSS工具包總共提供了兩個控制項,一個是“RssDataSource”,在簡單閱讀器的例子中,已經介紹了其使用方法;另一個是“RssHyperLink”,此控制項主要用來為網站提供訂閱功能。本節將通過介紹此控制項來逐步完成網站的訂閱功能,具體步驟如下。
(1)要在網站中實現訂閱功能,必須提供允許使用者訂閱的功能列表,本節手工編寫兩個頻道,提供的內容是前面建立的兩個閱讀器的RSS訂閱。
(2)在網站根目錄下,添加一個“一般處理常式”檔案,命名為“Sample.ashx”。處理常式主要是使用繼承自“IHttpHandler”介面的Web處理類,完成各種檔案的轉換,並讓Web應用程式識別這些檔案。
(3)本例使用的處理介面由RSS工具提供,所以必須在檔案內參考工具的命名空間“RssToolkit”,最後添加頻道的處理內容,如代碼清單5-6所示。在清單中有一個頻道和兩個項。
<%@ 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鍵運行程式,測試網站的訂閱功能。
工具下載