在前一小节中可以看到,用户每次点击提要时均将调用readFeed()方法。因此我们即可在该readFeed ()方法中异步调用服务器端Web Service中的GetRssContent()方法,并将当前提要的ID传递过去。当然,在异步调用之前同样应该为用户显示出更新提示面板:
function readFeed(id) {
// 显示更新提示面板。
showProgressBar(true);
// 取得提要的内容。
RssService.GetRssContent(id, onRssContentGot);
}
调用GetRssContent()方法时提供的回调方法onRssContentGot()的代码如下。其中先隐藏了更新提示面板,然后使用Web Service返回的ContentEntry[]数据构造出了提要的内容,并显示到页面右侧的内容区域中:
function onRssContentGot(result) {
// 隐藏更新提示面板。
showProgressBar(false);
// 构造提要内容HTML字符串。
var contentBuilder = new Sys.StringBuilder();
for (var index = 0; index < result.length; ++index) {
contentBuilder.append("<h3><a href="");
contentBuilder.append(result[index].Link); // Link
contentBuilder.append("" target="_blank" >");
contentBuilder.append(result[index].Title); // Title
contentBuilder.append("</a></h3><div>");
contentBuilder.append(result[index].Content); //Content
contentBuilder.append("</div><hr />");
}
// 设置到提要内容元素上。
var content = $get("content");
content.innerHTML = contentBuilder.toString();
}