linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > asp.net >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·NetBPM工作流的一个示例:请假
·Office Web Components(OWC)绘
·asp.net正则表达式语法
·asp.net 2.0 ajax中使用PopupC
·Ado.Net读取Excel常见问题总结
·数据源为空时如何让GridView显
·如何让UpdatePanel支持文件上传
·C#.Net的常见面试试题和参考答
·asp.net ajax客户端编程+jquer
·Brettle.Web.NeatUpload.dll支
·ASP.NET使用Cookie
·ASP.NET DEMO 15: 同时支持行单
·如何使IE的后退按钮无效
·如何在ASP.NET中用OWC绘制图表
·asp.net:正确判断当前用户角色
最新文章
·Ajax Control Toolkit Animati
·讨论一下类似BlogEngine内一次
·使用CSS+SiteMap+UserControl+
·Asp.net中多彩下拉框的实现
·浅谈ASP.NET的Postback
·分清ASP.NET AJAX中的Extender
·Tip:在使用AjaxControlTookit
·有关注册DataItem的一些可能被
·IIRF(Ionic's Isapi Rewrite
·asp.net 客户端回调功能的实现
·关于控件部分的看法--读Progra
·为什么在vista上做开发
·如何封装JS和CSS文件为服务器端
·岂今我看过的最强的排序算法
·设计模式学习笔记之单件模式
Google
 
使用AJAX开发你自己的RSS在线阅读器
[ 作者:  加入时间:2007-11-02 14:00:05  来自:Linux联盟收集整理 ]
Rss 是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个 Rss 文件后,这个 Rss Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。 BZmLinux联盟
   BZmLinux联盟
   在之前我们如果要实现博客的RSS订阅,通常都需要手写代码去生产或读取XML。现在有了RSSToolKit,这一切就变得简单了。你可以使用他在五分钟内实现自己的 Rss 在线阅读器。这篇文章将介绍如何读取站点 Rss 信息。 BZmLinux联盟
   BZmLinux联盟
  开发环境:VS2005 + RSSToolKit BZmLinux联盟
   BZmLinux联盟
  一、首先我们需要建立一个ASP.NET AJAX站点 BZmLinux联盟
   BZmLinux联盟
   BZmLinux联盟
   二、引入RssToolKit到项目中,建好的项目如下(CSS和图片文件可以使用我压缩文档里的) BZmLinux联盟
   BZmLinux联盟
  三、可以开始写代码了 BZmLinux联盟
   1.首先需要一个ScriptManager、一个UpdatePanel、一个UpdateProgress。哈哈,都是废话AJAX页面程序大概都需要这些。其他的就是你的要求了。具体的页面代码如下: BZmLinux联盟
   1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> BZmLinux联盟
   2 BZmLinux联盟
   3 <%@ Register Assembly="RssToolkit" Namespace="RssToolkit" TagPrefix="Rss" %> BZmLinux联盟
   4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> BZmLinux联盟
   5 <html xmlns="http://www.w3.org/1999/xhtml"> BZmLinux联盟
   6 <head runat="server"> BZmLinux联盟
   7 <title>向东博客阅读器|meil.livebaby.cn</title> BZmLinux联盟
   8 <link href="CSS/Layout.css" rel="stylesheet" type="text/css" /> BZmLinux联盟
   9 BZmLinux联盟
   10 <script language="JavaScript" type="text/javascript"> BZmLinux联盟
   11 var ls; BZmLinux联盟
   12 function ls_onClk(itemNumber) { BZmLinux联盟
   13 BZmLinux联盟
   14 if(ls == null) ls = $get("List0"); BZmLinux联盟
   15 BZmLinux联盟
   16 ls.className = ""; BZmLinux联盟
   17 ls = $get("list" + itemNumber); BZmLinux联盟
   18 ls.className = "current"; BZmLinux联盟
   19 return true; BZmLinux联盟
   20 } BZmLinux联盟
   21 </script> BZmLinux联盟
   22 BZmLinux联盟
   23 </head> BZmLinux联盟
   24 <body> BZmLinux联盟
   25 <form id="form1" runat="server"> BZmLinux联盟
   26 <asp:ScriptManager ID="ScriptManager1" runat="server" /> BZmLinux联盟
   27 <div id="content-header"> BZmLinux联盟
   28 <h1><asp:HyperLink ID="HyperLink1" runat="server" Text="向东" Target="_blank" NavigateUrl="http://meil.livebaby.cn/index.html"></asp:HyperLink> BZmLinux联盟
   29 博客阅读器</h1> BZmLinux联盟
   30 </div> BZmLinux联盟
   31 <div id="content-container"> BZmLinux联盟
   32 <div id="content-side1"> BZmLinux联盟
   33 <ul class="list-of-links"> BZmLinux联盟
   34 <li id="list0" class="current"> BZmLinux联盟
   35 <asp:LinkButton ID="lb0" runat="server" CommandArgument="0" OnClientClick="ls_onClk(0);" OnCommand="lnk_cmd">向东博客</asp:LinkButton></li> BZmLinux联盟
   36 <li id="list1"> BZmLinux联盟
   37 <asp:LinkButton ID="lb1" runat="server" CommandArgument="1" OnClientClick="ls_onClk(1);" OnCommand="lnk_cmd">财经博客</asp:LinkButton></li> BZmLinux联盟
   38 <li id="list2"> BZmLinux联盟
   39 <asp:LinkButton ID="lb2" runat="server" CommandArgument="2" OnClientClick="ls_onClk(2);" OnCommand="lnk_cmd">Flower博客</asp:LinkButton></li> BZmLinux联盟
   40 <li id="list3"> BZmLinux联盟
   41 <asp:LinkButton ID="lb3" runat="server" CommandArgument="3" OnClientClick="ls_onClk(3);" OnCommand="lnk_cmd">活力宝贝博客网</asp:LinkButton></li> BZmLinux联盟
   42 <li id="list4"> BZmLinux联盟
   43 <asp:LinkButton ID="lb4" runat="server" CommandArgument="4" OnClientClick="ls_onClk(4);" OnCommand="lnk_cmd">悠悠宝贝的博客</asp:LinkButton></li> BZmLinux联盟
   44 <li id="list5"> BZmLinux联盟
   45 <asp:LinkButton ID="lb5" runat="server" CommandArgument="5" OnClientClick="ls_onClk(5);" OnCommand="lnk_cmd"><font color="red">向东博客园博客</font></asp:LinkButton></li> BZmLinux联盟
   46 <li id="li6"> BZmLinux联盟
   47 <asp:LinkButton ID="lb6" runat="server" CommandArgument="6" OnClientClick="ls_onClk(6);" OnCommand="lnk_cmd"><font color="red">博客园</font></asp:LinkButton></li> BZmLinux联盟
   48 </ul> BZmLinux联盟
   49 </div> BZmLinux联盟
   50 <div id="content-main"> BZmLinux联盟
   51 <asp:UpdatePanel ID="updateMain" runat="server" UpdateMode="conditional" > BZmLinux联盟
   52 <Triggers> BZmLinux联盟
   53 <asp:AsyncPostBackTrigger ControlID="lb0" /> BZmLinux联盟
   54 <asp:AsyncPostBackTrigger ControlID="lb1" /> BZmLinux联盟
   55 <asp:AsyncPostBackTrigger ControlID="lb2" /> BZmLinux联盟
   56 <asp:AsyncPostBackTrigger ControlID="lb3" /> BZmLinux联盟
   57 <asp:AsyncPostBackTrigger ControlID="lb4" /> BZmLinux联盟
   58 <asp:AsyncPostBackTrigger ControlID="lb5" /> BZmLinux联盟
   59 <asp:AsyncPostBackTrigger ControlID="lb6" /> BZmLinux联盟
   60 </Triggers> BZmLinux联盟
   61 <ContentTemplate> BZmLinux联盟
   62 <h2><asp:Label ID="lblHeader" runat="server">最新日志</asp:Label></h2> BZmLinux联盟
   63 <hr /> BZmLinux联盟
   64 <asp:Panel ID="pnlBlog" runat="server"> BZmLinux联盟
   65 <Rss:RssDataSource ID="rssDS" runat="server" MaxItems="0" Url=""></Rss:RssDataSource> BZmLinux联盟
   66 <asp:DataList ID="lsBlog" runat="server" DataSourceID="rssDS"> BZmLinux联盟
   67 <ItemTemplate> BZmLinux联盟
   68 <asp:Panel ID="panelHeader" runat="server" Style="cursor: pointer; color: #d61719;width: 100%; display: block;"> BZmLinux联盟
   69 <span style="float: left;"><%# Eval("title") %></span> BZmLinux联盟
   70 <asp:Image ID="Image1" runat="server" Style="float: right;" ImageUrl="~/images/expand_blue.jpg" /> BZmLinux联盟
   71 </asp:Panel> BZmLinux联盟
   72 <asp:Panel ID="Panel1" runat="server" Style="margin-top: 3px;width: 100%; background: transparent url(images/blogBack.gif) no-repeat text-top left;"> BZmLinux联盟
   73 <%# Eval("description") %> BZmLinux联盟
   74 (<asp:HyperLink ID="hlMore" runat="server" NavigateUrl='<%# Eval("link") %>' Target="_blank" Text="更多内容"></asp:HyperLink>) BZmLinux联盟
   75 </asp:Panel> BZmLinux联盟
   76 <ajaxT:CollapsiblePanelExtender ID="cpe1" runat="server" TargetControlID="Panel1" BZmLinux联盟
   77 ExpandControlID="panelHeader" CollapseControlID="panelHeader" SuppressPostBack="true" BZmLinux联盟
   78 ImageControlID="Image1" Collapsed="true" ExpandedImage="~/images/collapse_blue.jpg" BZmLinux联盟
   79 CollapsedImage="~/images/expand_blue.jpg" /> BZmLinux联盟
   80 <hr style="border-bottom: 1px dotted #B2B2B2; margin: 0px;" /> BZmLinux联盟
   81 </ItemTemplate> BZmLinux联盟
   82 </asp:DataList> BZmLinux联盟
   83 </asp:Panel> BZmLinux联盟
   84 </ContentTemplate> BZmLinux联盟
   85 </asp:UpdatePanel> BZmLinux联盟
   86 </div> BZmLinux联盟
   87 </div> BZmLinux联盟
   88 <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="0" DynamicLayout="true"> BZmLinux联盟
   89 <ProgressTemplate> BZmLinux联盟
   90 <div id="updProgress"> BZmLinux联盟
   91 <img alt="" src="images/indicator.gif" /> BZmLinux联盟
   92 <span>数据获取中</span> BZmLinux联盟
   93 </div> BZmLinux联盟
   94 </ProgressTemplate> BZmLinux联盟
   95 </asp:UpdateProgress> BZmLinux联盟
   96 </form> BZmLinux联盟
   97 <center><div><a href="http://meil.livebaby.cn">meil.livebaby.cn</a>  程序制作:向东  2007.7</center> BZmLinux联盟
   98 </body> BZmLinux联盟
   99 </html> BZmLinux联盟
  100 BZmLinux联盟
  比较重要的是这两部分: BZmLinux联盟
  行66:<Rss:RssDataSource ID="rssDS" runat="server" MaxItems="0" Url=""></Rss:RssDataSource> BZmLinux联盟
  这就是实现RSS读取的核心了,有了这个标记就实现了RSS读取的一半工作,那剩下的吶? BZmLinux联盟
   BZmLinux联盟
  看看下面者部分,lnk_cmd 命令实现了RSS数据的重绑定,这样你就可以实时的访问多个RSS地址了。如果你觉得这样还不够灵活,可以加个Textbox,然后用程序去绑定,这样也不错。不过,此次就不实现这个了,有兴趣的朋友可以试试,应该不难。哈哈! BZmLinux联盟
   BZmLinux联盟
  行35:<asp:LinkButton ID="lb0" runat="server" CommandArgument="0" OnClientClick="ls_onClk(0);" BZmLinux联盟
   OnCommand="lnk_cmd">向东博客</asp:LinkButton></li> BZmLinux联盟
  1 protected void lnk_cmd(object sender, CommandEventArgs e) BZmLinux联盟
  2 { BZmLinux联盟
  3 int command = Convert.ToInt32(e.CommandArgument); BZmLinux联盟
  4 BZmLinux联盟
  5 rssDataBind(command); BZmLinux联盟
  6 } BZmLinux联盟
  rssDataBind就是绑定的函数,代码是: BZmLinux联盟
   1 protected void rssDataBind(int cmd) BZmLinux联盟
   2 { BZmLinux联盟
   3 switch (cmd) BZmLinux联盟
   4 { BZmLinux联盟
   5 case 0: BZmLinux联盟
   6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml"; BZmLinux联盟
   7 lsBlog.DataBind(); BZmLinux联盟
   8 lblHeader.Text = "向东博客"; BZmLinux联盟
   9 break; BZmLinux联盟
  10 case 1: BZmLinux联盟
  11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml"; BZmLinux联盟
  12 lsBlog.DataBind(); BZmLinux联盟
  13 lblHeader.Text = "财经博客"; BZmLinux联盟
  14 break; BZmLinux联盟
  15 case 2: BZmLinux联盟
  16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml"; BZmLinux联盟
  17 lsBlog.DataBind(); BZmLinux联盟
  18 lblHeader.Text = "Flower博客"; BZmLinux联盟
  19 break; BZmLinux联盟
  20 case 3: BZmLinux联盟
  21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp"; BZmLinux联盟
  22 lsBlog.DataBind(); BZmLinux联盟
  23 lblHeader.Text = "活力宝贝博客网"; BZmLinux联盟
  24 break; BZmLinux联盟
  25 case 4: BZmLinux联盟
  26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml"; BZmLinux联盟
  27 lsBlog.DataBind(); BZmLinux联盟
  28 lblHeader.Text = "悠悠宝贝的博客"; BZmLinux联盟
  29 break; BZmLinux联盟
  30 case 5: BZmLinux联盟
  31 rssDS.Url = "http://www.cnblogs.com/meil/rss"; BZmLinux联盟
  32 lsBlog.DataBind(); BZmLinux联盟
  33 lblHeader.Text = "向东博客园博客"; BZmLinux联盟
  34 break; BZmLinux联盟
  35 case 6: BZmLinux联盟
  36 rssDS.Url = "http://www.cnblogs.com/rss"; BZmLinux联盟
  37 lsBlog.DataBind(); BZmLinux联盟
  38 lblHeader.Text = "博客园"; BZmLinux联盟
  39 break; BZmLinux联盟
  40 default: BZmLinux联盟
  41 break; BZmLinux联盟
  42 } BZmLinux联盟
  43 } BZmLinux联盟
  就这么简单 BZmLinux联盟
   rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml"; BZmLinux联盟
   lsBlog.DataBind(); BZmLinux联盟
  是不是就如DB数据的绑定。MS的东西虽然结构性不好,但是上手真的好快。 BZmLinux联盟
  到底需要多少个Case就看你的需要了。我这里就绑定了六个RSS地址,你还可以更多,但要注意的是一定要和页面上的LinkButton数对应上。 BZmLinux联盟
   BZmLinux联盟
  最终的C#代码如下: BZmLinux联盟
   1 protected void rssDataBind(int cmd) BZmLinux联盟
   2 { BZmLinux联盟
   3 switch (cmd) BZmLinux联盟
   4 { BZmLinux联盟
   5 case 0: BZmLinux联盟
   6 rssDS.Url = "http://www.livebaby.cn/blog/u/meil/rss2.xml"; BZmLinux联盟
   7 lsBlog.DataBind(); BZmLinux联盟
   8 lblHeader.Text = "向东博客"; BZmLinux联盟
   9 break; BZmLinux联盟
  10 case 1: BZmLinux联盟
  11 rssDS.Url = "http://www.livebaby.cn/blog/u/money/rss2.xml"; BZmLinux联盟
  12 lsBlog.DataBind(); BZmLinux联盟
  13 lblHeader.Text = "财经博客"; BZmLinux联盟
  14 break; BZmLinux联盟
  15 case 2: BZmLinux联盟
  16 rssDS.Url = "http://www.livebaby.cn/blog/u/flower/rss2.xml"; BZmLinux联盟
  17 lsBlog.DataBind(); BZmLinux联盟
  18 lblHeader.Text = "Flower博客"; BZmLinux联盟
  19 break; BZmLinux联盟
  20 case 3: BZmLinux联盟
  21 rssDS.Url = "http://www.livebaby.cn/blog/rss2.asp"; BZmLinux联盟
  22 lsBlog.DataBind(); BZmLinux联盟
  23 lblHeader.Text = "活力宝贝博客网"; BZmLinux联盟
  24 break; BZmLinux联盟
  25 case 4: BZmLinux联盟
  26 rssDS.Url = "http://www.livebaby.cn/blog/u/yoyo/rss2.xml"; BZmLinux联盟
  27 lsBlog.DataBind(); BZmLinux联盟
  28 lblHeader.Text = "悠悠宝贝的博客"; BZmLinux联盟
  29 break; BZmLinux联盟
  30 case 5: BZmLinux联盟
  31 rssDS.Url = "http://www.cnblogs.com/meil/rss"; BZmLinux联盟
  32 lsBlog.DataBind(); BZmLinux联盟
  33 lblHeader.Text = "向东博客园博客"; BZmLinux联盟
  34 break; BZmLinux联盟
  35 case 6: BZmLinux联盟
  36 rssDS.Url = "http://www.cnblogs.com/rss"; BZmLinux联盟
  37 lsBlog.DataBind(); BZmLinux联盟
  38 lblHeader.Text = "博客园"; BZmLinux联盟
  39 break; BZmLinux联盟
  40 default: BZmLinux联盟
  41 break; BZmLinux联盟
  42 } BZmLinux联盟
  43 } Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息