当前位置: 编程技术>.net/c#/asp.net
c# AJAX实践VS2005 + RSSToolKit 开发你自己的RSS在线阅读器
来源: 互联网 发布时间:2014-10-13
本文导语: Rss 是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个 Rss 文件后,这个 Rss Feed中包含的信息就能直接被其他站点调...
Rss 是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个 Rss 文件后,这个 Rss Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。
在之前我们如果要实现博客的RSS订阅,通常都需要手写代码去生产或读取XML。现在有了RSSToolKit,这一切就变得简单了。你可以使用他在五分钟内实现自己的 Rss 在线阅读器。这篇文章将介绍如何读取站点 Rss 信息。
开发环境:VS2005 + RSSToolKit
一、首先我们需要建立一个ASP.NET AJAX站点
二、引入RssToolKit到项目中,建好的项目如下(CSS和图片文件可以使用我压缩文档里的)
三、可以开始写代码了
1.首先需要一个ScriptManager、一个UpdatePanel、一个UpdateProgress。哈哈,都是废话AJAX页面程序大概都需要这些。其他的就是你的要求了。具体的页面代码如下:
1
2
3
4
5
6
7 向东博客阅读器|meil.livebaby.cn
8
9
10
11 var ls;
12 function ls_onClk(itemNumber) {
13
14 if(ls == null) ls = $get("List0");
15
16 ls.className = "";
17 ls = $get("list" + itemNumber);
18 ls.className = "current";
19 return true;
20 }
21
22
23
24
25
26
27
28
29 博客阅读器
30
在之前我们如果要实现博客的RSS订阅,通常都需要手写代码去生产或读取XML。现在有了RSSToolKit,这一切就变得简单了。你可以使用他在五分钟内实现自己的 Rss 在线阅读器。这篇文章将介绍如何读取站点 Rss 信息。
开发环境:VS2005 + RSSToolKit
一、首先我们需要建立一个ASP.NET AJAX站点
二、引入RssToolKit到项目中,建好的项目如下(CSS和图片文件可以使用我压缩文档里的)
三、可以开始写代码了
1.首先需要一个ScriptManager、一个UpdatePanel、一个UpdateProgress。哈哈,都是废话AJAX页面程序大概都需要这些。其他的就是你的要求了。具体的页面代码如下:
1
2
3
4
5
6
7 向东博客阅读器|meil.livebaby.cn
8
9
10
11 var ls;
12 function ls_onClk(itemNumber) {
13
14 if(ls == null) ls = $get("List0");
15
16 ls.className = "";
17 ls = $get("list" + itemNumber);
18 ls.className = "current";
19 return true;
20 }
21
22
23
24
25
26
27
28
29 博客阅读器
30
31
32
33
34
35 向东博客
36
37 财经博客
38
39 Flower博客
40
41 活力宝贝博客网
42
43 悠悠宝贝的博客
44
45 向东博客园博客
46
47 博客园
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 最新日志
63
64
65
66
67
68
69
70
71
72
73
74 ()
75
76
80
81
82
83
84
85
86
87
88
89
90
91
92 数据获取中
93
94
95
96
97
meil.livebaby.cn 程序制作:向东 2007.7
98
99
100
比较重要的是这两部分:
行66:
这就是实现RSS读取的核心了,有了这个标记就实现了RSS读取的一半工作,那剩下的吶?
看看下面者部分,lnk_cmd 命令实现了RSS数据的重绑定,这样你就可以实时的访问多个RSS地址了。如果你觉得这样还不够灵活,可以加个Textbox,然后用程序去绑定,这样也不错。不过,此次就不实现这个了,有兴趣的朋友可以试试,应该不难。哈哈!
行35:向东博客
1 protected void lnk_cmd(object sender, CommandEventArgs e)
2 {
3 int command = Convert.ToInt32(e.CommandArgument);
4
5 rssDataBind(command);
6 }
rssDataBind就是绑定的函数,代码是:
1 protected void rssDataBind(int cmd)
2 {
3 switch (cmd)
4 {
5 case 0:
6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
7 lsBlog.DataBind();
8 lblHeader.Text = "向东博客";
9 break;
10 case 1:
11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml";
12 lsBlog.DataBind();
13 lblHeader.Text = "财经博客";
14 break;
15 case 2:
16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml";
17 lsBlog.DataBind();
18 lblHeader.Text = "Flower博客";
19 break;
20 case 3:
21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp";
22 lsBlog.DataBind();
23 lblHeader.Text = "活力宝贝博客网";
24 break;
25 case 4:
26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml";
27 lsBlog.DataBind();
28 lblHeader.Text = "悠悠宝贝的博客";
29 break;
30 case 5:
31 rssDS.Url = "http://www.cnblogs.com/meil/rss";
32 lsBlog.DataBind();
33 lblHeader.Text = "向东博客园博客";
34 break;
35 case 6:
36 rssDS.Url = "http://www.cnblogs.com/rss";
37 lsBlog.DataBind();
38 lblHeader.Text = "博客园";
39 break;
40 default:
41 break;
42 }
43 }
就这么简单
rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
lsBlog.DataBind();
是不是就如DB数据的绑定。MS的东西虽然结构性不好,但是上手真的好快。
到底需要多少个Case就看你的需要了。我这里就绑定了六个RSS地址,你还可以更多,但要注意的是一定要和页面上的LinkButton数对应上。
最终的C#代码如下:
1 protected void rssDataBind(int cmd)
2 {
3 switch (cmd)
4 {
5 case 0:
6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
7 lsBlog.DataBind();
8 lblHeader.Text = "向东博客";
9 break;
10 case 1:
11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml";
12 lsBlog.DataBind();
13 lblHeader.Text = "财经博客";
14 break;
15 case 2:
16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml";
17 lsBlog.DataBind();
18 lblHeader.Text = "Flower博客";
19 break;
20 case 3:
21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp";
22 lsBlog.DataBind();
23 lblHeader.Text = "活力宝贝博客网";
24 break;
25 case 4:
26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml";
27 lsBlog.DataBind();
28 lblHeader.Text = "悠悠宝贝的博客";
29 break;
30 case 5:
31 rssDS.Url = "http://www.cnblogs.com/meil/rss";
32 lsBlog.DataBind();
33 lblHeader.Text = "向东博客园博客";
34 break;
35 case 6:
36 rssDS.Url = "http://www.cnblogs.com/rss";
37 lsBlog.DataBind();
38 lblHeader.Text = "博客园";
39 break;
40 default:
41 break;
42 }
43 }
源码下载地址:http://www.cnblogs.com/Files/meil/ReaderRss_src.rar
本文永久地址: http://www.livebaby.cn/blog/u/meil/archives/2007/1169.html
98
99
100
比较重要的是这两部分:
行66:
这就是实现RSS读取的核心了,有了这个标记就实现了RSS读取的一半工作,那剩下的吶?
看看下面者部分,lnk_cmd 命令实现了RSS数据的重绑定,这样你就可以实时的访问多个RSS地址了。如果你觉得这样还不够灵活,可以加个Textbox,然后用程序去绑定,这样也不错。不过,此次就不实现这个了,有兴趣的朋友可以试试,应该不难。哈哈!
代码如下:
行35:向东博客
1 protected void lnk_cmd(object sender, CommandEventArgs e)
2 {
3 int command = Convert.ToInt32(e.CommandArgument);
4
5 rssDataBind(command);
6 }
rssDataBind就是绑定的函数,代码是:
1 protected void rssDataBind(int cmd)
2 {
3 switch (cmd)
4 {
5 case 0:
6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
7 lsBlog.DataBind();
8 lblHeader.Text = "向东博客";
9 break;
10 case 1:
11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml";
12 lsBlog.DataBind();
13 lblHeader.Text = "财经博客";
14 break;
15 case 2:
16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml";
17 lsBlog.DataBind();
18 lblHeader.Text = "Flower博客";
19 break;
20 case 3:
21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp";
22 lsBlog.DataBind();
23 lblHeader.Text = "活力宝贝博客网";
24 break;
25 case 4:
26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml";
27 lsBlog.DataBind();
28 lblHeader.Text = "悠悠宝贝的博客";
29 break;
30 case 5:
31 rssDS.Url = "http://www.cnblogs.com/meil/rss";
32 lsBlog.DataBind();
33 lblHeader.Text = "向东博客园博客";
34 break;
35 case 6:
36 rssDS.Url = "http://www.cnblogs.com/rss";
37 lsBlog.DataBind();
38 lblHeader.Text = "博客园";
39 break;
40 default:
41 break;
42 }
43 }
rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
lsBlog.DataBind();
是不是就如DB数据的绑定。MS的东西虽然结构性不好,但是上手真的好快。
到底需要多少个Case就看你的需要了。我这里就绑定了六个RSS地址,你还可以更多,但要注意的是一定要和页面上的LinkButton数对应上。
最终的C#代码如下:
代码如下:
1 protected void rssDataBind(int cmd)
2 {
3 switch (cmd)
4 {
5 case 0:
6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml";
7 lsBlog.DataBind();
8 lblHeader.Text = "向东博客";
9 break;
10 case 1:
11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml";
12 lsBlog.DataBind();
13 lblHeader.Text = "财经博客";
14 break;
15 case 2:
16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml";
17 lsBlog.DataBind();
18 lblHeader.Text = "Flower博客";
19 break;
20 case 3:
21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp";
22 lsBlog.DataBind();
23 lblHeader.Text = "活力宝贝博客网";
24 break;
25 case 4:
26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml";
27 lsBlog.DataBind();
28 lblHeader.Text = "悠悠宝贝的博客";
29 break;
30 case 5:
31 rssDS.Url = "http://www.cnblogs.com/meil/rss";
32 lsBlog.DataBind();
33 lblHeader.Text = "向东博客园博客";
34 break;
35 case 6:
36 rssDS.Url = "http://www.cnblogs.com/rss";
37 lsBlog.DataBind();
38 lblHeader.Text = "博客园";
39 break;
40 default:
41 break;
42 }
43 }
源码下载地址:http://www.cnblogs.com/Files/meil/ReaderRss_src.rar
本文永久地址: http://www.livebaby.cn/blog/u/meil/archives/2007/1169.html