在网站内加入RSS功能

news/2024/5/9 16:19:01/文章来源:https://blog.csdn.net/codetian/article/details/1560273
RSS具有实现成本低、推广速度快的优点,已成为很多报纸媒介电子网站中的一项重要推广技术。本节将介绍如何在网站中实现RSS功能,此功能主要包括两部分:订阅功能和提供阅读器工具功能。本节的讲解流程如图5-7所示。
图5-7  站点内加入RSS功能讲解流程图
5.4.1  使用Microsoft提供的RSS工具包
为了让用户可以在ASP.NET 2.0中方便地使用RSS技术,Microsoft提供了一个RSS工具包,使用户可以简单地实现RSS的订阅和阅读功能。
这个工具包提供了“RssDataSource”和“RssHyperLink”两个控件,开发人员通过对两个控件的拖曳,就可以轻松实现站点的RSS功能。
声明
本工具全名为“RssToolkit-1-0-0-1”,支持C#语言。读者可从Microsoft站点下载。
下面将介绍如何把工具包添加到VS 2005的工具箱中。
(1)打开VS 2005,新建一个网站“WebRSS”。
(2)打开“Default.aspx”页面,切换到设计视图,此时工具箱为可用状态。
(3)右击工具箱中的“常规”选项卡,在弹出的菜单中,单击“选择项”菜单命令,弹出“选择工具箱项”对话框,如图5-8所示。
图5-8  选择“工具箱”对话框
(4)单击“浏览”按钮,打开文件搜索对话框,如图5-9所示。
图5-9  文件搜索对话框
(5)在“查找范围”下拉框中,找到工具包所在的文件夹下的“bin”文件夹,并选中文件夹中的“RssToolkit.dll”文件。
(6)单击“打开”按钮,系统回到“选择工具箱项”对话框,此时系统自动选中dll文件中带的两个控件。
(7)单击“确定”按钮,此时在“常规”选项卡中,多了两个控件:“RssDataSource”和“RssHyperLink”。
至此,工具控件已经加载完毕,可以在VS 2005中使用Microsoft提供的RSS工具包了。
5.4.2  一个简单的RSS阅读器
本节将使用ASP.NET 2.0提供的数据控件,通过RSS工具箱中的“RssDataSource”数据源控件,实现一个只有一列的网格频道列表,并通过导航的方式显示频道的内容。具体步骤如下。
(1)在网站根目录下,添加一个Web窗体“SimpleReader”。
(2)切换到设计视图,将一个数据控件“DataList”控件拖曳到界面中。
(3)再将一个数据源控件“RssDataSource”控件拖曳到界面中。
(4)在“RssDataSource”控件的任务列表中,只有一项“配置数据源”,单击此菜单命令,弹出地址输入对话框,如图5-10所示。
图5-10  输入RSS地址对话框
(5)在地址文本框内,输入“http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml”,此处提供一个标准的RSS文件,并提供多个文章项。
(6)单击“OK”按钮,返回到设计视图。
(7)编辑数据控件“DataList”的绑定项,具体设置如代码清单5-3所示。注意此处已经通过属性“DataSourceID”,将“DataList”控件的数据源绑定到“RssDataSource”控件上。
代码清单5-3  DataList控件的数据源绑定设置
<asp:DataList ID="DataList1" runat="server"  DataSourceID="RssDataSource1>
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor= "White" />
<SelectedItemStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor= "#333333" />
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("link") %>' Text='<%# Eval("title") %>'></asp:HyperLink>
</ItemTemplate>
<AlternatingItemStyle BackColor="White" />
<ItemStyle BackColor="#E3EAEB" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
</asp:DataList>
文本框:
图5-11  简单阅读器运行效果
(8)此时RSS的读取地址和数据控件的绑定内容都已经设置完毕。按“Ctrl+S”键保存页面的设计。
(9)将此页设计为起始页,按F5键运行程序,测试能否正确显示订阅的RSS新闻列表,运行结果如图5-11所示。
5.4.3  一个复杂的RSS阅读器
上一小节主要讲解了一个简单的阅读器的制作过程,本节将通过一个复杂的数据控件“GridView”,实现一个频道列表网格,其中列出频道的主题、链接和描述等信息,并采用数据源后绑定的技术为“GridView”控件配置数据源。具体实现步骤如下。
(1)在网站根目录下,添加一个Web窗体“ComplexRSS”。
(2)切换到设计视图,将一个“GridView”控件拖曳到界面中,并设计其样式,具体样式如代码清单5-4所示。因为采用数据源后绑定的技术,此处不需为“GridView”控件配置数据源。
代码清单5-4  GridView的样式配置源HTML代码
<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”页面的代码界面。
图5-12  “添加引用”对话框
图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键运行程序,测试网站的订阅功能。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_894009.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站(B/S开发中)cache应用

关于中大型开发b/s开发中的缓存(cache)&#xff0c;我的一些看法&#xff0c;有不正确的或者是有笔误的地方&#xff0c;请指正。thanks 首先&#xff0c;应该了解基本的&#xff0c;对于缓存的知识&#xff1a; Q&#xff1a;如&#xff1a;静态缓存和动态缓存的区别&#x…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行 发布日期&#xff1a; 2006-07-11 | 更新日期&#xff1a; 2006-07-11 Jeff Prosise 本文将讨论&#xff1a; • 缓存和 Forms 身份验证 • 视图状态和会话状态 • 配置文件属性序列化 • 线程池饱和 • 模拟和设置配置…

如何做好网站开发项目的需求分析

一个网站项目的确立是建立在各种各样的需求上面的&#xff0c;这种需求往往来自于客户的实际需求或者是出于公司自身发展的需要&#xff0c;其中客户的实际需求也就是说这种交易性质的需求占了绝大部分。面对对网站开发拥有不同知识层面的客户&#xff0c;项目的负责人对用户需…

如何做好网站开发项目需求分析_心得技巧教程

一个网站项目的确立是建立在各种各样的需求上面的&#xff0c;这种需求往往来自于客户的实际需求或者是出于公司自身发展的需要&#xff0c;其中客户的实际需求也就是说这种交易性质的需求占了绝大部分。面对对网站开发拥有不同知识层面的客户&#xff0c;项目的负责人对用户需…

网站需求

一个网站项目的确立是建立在各种各样的需求上面的&#xff0c;这种需求往往来自于客户的实际需求或者是出于公司自身发展的需要&#xff0c;其中客户的实际需求也就是说这种交易性质的需求占了绝大部分。面对对网站开发拥有不同知识层面的客户&#xff0c;项目的负责人对用户需…

Android系统SEO软件分享

如果你是个重度的SEOER&#xff0c;我想你每分每秒都在关注网站的动态吧&#xff0c;前几天找到三个非常适合SEOER在Android系统使用的软件。 Google Analytics 总感觉百度统计没有google统计给力&#xff0c;无论从方便性还是数据实用性&#xff0c;google analytics非常方便的…

bootstrap 响应式_使用BootStrap的响应式网站

bootstrap 响应式 Responsive Website Using BootStrap Bootstrap 3 tutorial. If you have not used BootStrap so far, or more than that – have not heard about it – I would recommend you take a closer look to this framework. The fact is that this is really a g…

使用AngularJS的自适应网站

Responsive website using AngularJS In today’s tutorial, I’m going to show you the process of creating almost an entire website with a new library – AngularJS. However, firstly, I would like to introduce to you the AngularJS. AngularJS is a magnificent f…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如 LiveJournal 的、 ebay 的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为…

chrome无法从该网站添加应用、扩展程序和用户脚本的有效解决方法

1.情景展示 在安装chrome离线扩展程序时&#xff0c;报错信息如下&#xff1a; 2.解决方案 第一步&#xff1a; 新建一个标签页&#xff0c;在地址栏输入&#xff1a;chrome://flags/#extensions-on-chrome-urls并按回车键 将值改为enabled 重启chrome 第二步&#xff1a…

win7 、IIS7.0 搭建ASP网站

工具/原料 Windows7系统 &#xff08;IIS是WIN7自带的&#xff0c;版本7.0&#xff09; 步骤/方法 首先是安装IIS。打开控制面板&#xff0c;找到“程序与功能”&#xff0c;点进去 点击左侧“打开或关闭Windows功能” 找到“Internet 信息服务”&#xff0c;按照下图打勾即可…

从零开始用云服务器 Ubuntu 18.04 安装wordpress基础的+配置过程搭建个人网站

购买服务器 我用的是华为云服务器 从开始买云服务器先点控制台在点击弹性云服务器ECS 然后买好后 点击远程登录即可打开 我选的是云服务器ecs&#xff0c;系统选的ubuntu 18.04&#xff0c;搭建时注意要记住登录密码 配置安全组 然后首先配置一下安全组 可以按下列步骤找到…

19款网站常见多图片自动轮播banner源码

19款网站常见多图片自动轮播banner源码 http://bbs.blueidea.com/thread-2729702-1-1.html 点击图片进入下载页 点击文字查看效果演示 韩国滚动图片banner17(仿三维空间前后替换) 韩国滚动图片banner16(左右滚动) 韩国滚动图片banner15(定时滚动) 韩国滚动图片banner14(定时滚…

ASP.NET2.0中themes、Skins轻松实现网站换肤!

可能有些朋友还不是很清楚themes、skins。下面先介绍下themes、skins.。一、简介&#xff1a;一看Themes、Skins这2名字就都知道是用来做什么的了吧&#xff0c;下面就说下它是做什么的(怎么都知道了还说,~_~)&#xff0c;利用Themes我们可以很容易的更改控件、页面的风格&…

vue-i18n 网站中英文切换插件的基本使用

最近项目中用到国际化之前看到一个博客写的vue-i18n的使用非常好&#xff0c;后来就找不到是哪个了心塞。 vue-i18n的基本使用 首先肯定是下载啦&#xff01; npm install vue-i18n --save 然后在src下边新建一个i8n文件夹 //cn.js// import zhLocale from element-ui/lib/loc…

利用Github建立你的个人网站

http://blog.csdn.net/u012422829/article/details/46285577 这两天用了Github建立了自己的个人主页&#xff0c; 网址为 hyman1994.com。 感兴趣的朋友可以访问一下&#xff0c;欢迎您的指导意见和建议&#xff01; 流程总结&#xff1a; 1.注册自己的github账户,名为XXX 2.创…

网站收藏夹图标 添加代码

首先制作一个16x16的icon图标&#xff0c;命名为favicon.ico&#xff0c;放在根目录下。然后将下面的代码嵌入head区&#xff1a; <link rel"icon" href"/favicon.ico" type"image/x-icon" /><link rel"shortcut icon" href&…

SEO教程:链接策略(Link Wheel)

为什么链接也需要策略? SEO需要策略&#xff0c;而且需要系统性的执行。而不是盲目的更新文章&#xff0c;添加外连。内链需要策略&#xff0c;外链需要策略&#xff0c;关键字需要策略……为什么我们网站的黑链掉了&#xff0c;排名就会有所下降。那是因为我们太过单一性。黑…

一步步构建大型网站架构 转载

之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;MySpace的五个里程碑 、Flickr的架构 、YouTube的架构 、PlentyOfFish的架构 、WikiPedia的架构 。这几个都很典型&#xff0c;我们可以从中获取很多有关网站架构方面的知识&#xff0c;看了之后你会发现你原来的想法…

使用 PHP、JavaScript 和 WURFL 的设备识别移动网站

不再为移动设备功能而迷茫 随着移动 Web 的快速发展&#xff0c;如果您还没有使用过 PHP 驱动的移动网站或应用程序&#xff0c;那么您很快就会用到。在数以千计的产品中检测一个移动设备的功能&#xff0c;仅使用 PHP 几乎是不可能实现的。但是有了 Wireless Universal Resour…