吉吉于

Asp.Net(6):读取RSS

昨天一网友问我讨论Java的RSS订阅器实现,我说没弄过RSS,今天翻了点资料,写写。

在Asp.Net下很容易就实现了读取RSS功能,使用的依然是dll,依然是拖,依然是没技术含量的活儿。

昨天也和另一个网友谈到,说.NET入门门槛儿太低,工资比较少。

我觉得也不无道理,但是也不能全信,各有各的发展,总的来说我是不想去搞赚钱很多的底层设计,我甚至只想搞搞表面的东西,鬼知道我是怎么想的。

写个程序领导不看里边怎么设计的,哪怕你弄个能蹦跶的能看得见的没技术含量的东西也比来个展示不出来的功能强,这就是中国软件发展的悲剧吧。

扯多了,来看下RSS吧。

 


首先,下载RssToolkit工具包。

新建网站项目,加入aspx文件,右击工具栏的常规选项,找到”选择项”,选择你的dll,加入到项目中来。

这时常规选项卡里会出现rssdatasource和rsshyperlink

往页面内拖入一个rssdatasource和一个dataview

具体实现代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="RssToolkit" Namespace="RssToolkit" TagPrefix="cc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <%--<asp:DataList ID="DataList1" runat="server" DataSourceID="RssDataSource1">
            <ItemTemplate>
                title:
                    <asp:Label ID="titleLable" runat="server" Text='<%#Eval("title")%>'/>
                    <br/>
                link:
                    <asp:Label ID="linkLabel" runat="server" Text='<%#Eval("link")%>' />
                    <br/>
                description:
                    <asp:Label ID="descriptionLabel" runat="server" Text='<%#Eval("description")%>'/>
                    <br/>
                pubDate:
                    <asp:Label ID="pubDateLabel" runat="server" Text='<%#Eval("pubDate")%>'/>
                    <br/>
            </ItemTemplate>
        </asp:DataList>--%>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="订阅" onclick="Button1_Click" />
        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#000000" GridLines="None">
            <FooterStyle BackColor="#5d7b9d" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="true" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
        </asp:GridView>
        <cc1:RssDataSource ID="RssDataSource1" runat="server" MaxItems="0" 
            Url="http://feed.feedsky.com/lazynight">
        </cc1:RssDataSource>
    </div>
    </form>
</body>
</html>

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using RssToolkit;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string URL = TextBox1.Text;

        //创建一个频道
        GenericRssChannel c = GenericRssChannel.LoadChannel(URL);
        //为GridView绑定数据源
        //数据源来自频道中的所有项目
        GridView1.DataSource = c.SelectItems();
        GridView1.DataBind();
    }
}

效果图:

 

 

转载请注明:于哲的博客 » Asp.Net(6):读取RSS