当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 使用jQuery的ajax功能实现的RSS Reader 代码

Javascript
javascript的事件描述
用javascript动态注释掉HTML代码
对联广告
[原创]菜单制作学习一个小东西
JavaScript中的私有成员
基于Web标准的UI组件 — 树状菜单(2)
JavaScript静态的动态
JavaScript Base64编码和解码,实现URL参数传递。
跨浏览器的设置innerHTML方法
多个iframe自动调整大小的问题
判断checkbox选择的个数 多浏览器
发现的以前不知道的函数
Js+XML 操作
Javascript里使用Dom操作Xml
JS+CSS模拟IP输入框
prototype1.5 初体验
prototype 源码中文说明之 prototype.js
prototype1.4中文手册
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
js实现ASP分页函数 HTML分页函数

Javascript 中的 使用jQuery的ajax功能实现的RSS Reader 代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 355 ::
收藏到网摘: n/a

Rss阅读器挺不错的。我觉得如果在igoogle或是dropthings这种形式的portal下来放很多RSS模块显示自己每天需要关注的信息那将会减少大家很多的打开浏览器和输入网址的时间。

先看看效果来着:

首先需要一个ascx页面通过一个XDocument把rss源的内容绑定到一个ListView上。代码如下:

复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)
{
// For demo purposes.
System.Threading.Thread.Sleep(1000);
XDocument feedXML =
XDocument.Load("http://feeds.feedsky.com/csdn.net/dujingjing1230");
var feeds = from feed in feedXML.Descendants("item")
select new
{
Title = feed.Element("title").Value,
Link = feed.Element("link").Value,
Description = feed.Element("description").Value
};
PostList.DataSource = feeds;
PostList.DataBind();
}

复制代码 代码如下:

<asp:ListView runat="server" ID="PostList">
<LayoutTemplate>
<ul>
<asp:PlaceHolder runat="server" ID="itemPlaceholder" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<li><a href='<%# Eval("Link") %>'><%# Eval("Title") %></a><br />
<%# Eval("Description") %>
</li>
</ItemTemplate>
</asp:ListView>

接下来需要创建一个aspx页面来显示RSS内容,当然这个页面中就使用了jQuery的AJAX来得到上面的数据。
HTML页面代码:

实现ajax功能的js:
复制代码 代码如下:

$(document).ready(function() {
$.ajax({
type: "POST",
url: "RSSReader.asmx/GetRSSReader",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#RSSContent').removeClass('loading');
$('#RSSContent').html(msg.d);
}
});
});

最后是RSSReader.asmx这个web Services的内容:
复制代码 代码如下:

public class RSSReader : System.Web.Services.WebService {
[WebMethod]
public string GetRSSReader()
{
Page page = new Page();
UserControl ctl =
(UserControl)page.LoadControl("~/RSSReaderControl.ascx");
page.Controls.Add(ctl);
StringWriter writer = new StringWriter();
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();
}
}

页面中还有用到一个图片这里就不上传了。
代码下载:
/upload/tech/20091012/20091012100551_357a6fdf7642bf815a88822c447d9dc4.rar