若想在客户端应用程序初始化完毕时加载提要列表,我们需要在pageLoad()方法中调用web Service中的GetRssEntries()方法,并在异步调用之前为用户显示出更新提示面板:
function pageLoad(sender, args) {
// 显示更新提示面板。
showProgressBar(true);
// 取得提要集合。
RssService.GetRssEntries(onRssEntriesGot);
}
其中showProgressBar()函数用来根据其接收到的布尔值参数控制更新提示面板的显示与否。该函数的定义如下,将在稍后的代码中频繁用到:
// 控制更新提示面板的显示与否。
function showProgressBar(visible) {
$get("progress").style.display = visible ? "block" : "none";
}
关于pageLoad()方法的介绍,请参考第4章。关于异步调用服务器端Web Service方法的语法,请参考第3章。
调用GetRssEntries()方法时提供的回调方法onRssEntriesGot()的代码如下。其中先隐藏了更新提示面板,然后
使用Web Service返回的提要集合数据构造出了
元素中的各个
元素,并显示到页面导航栏的提要列表中:
function onRssEntriesGot(result) {
// 隐藏更新提示面板。
showProgressBar(false);
// 构造提要列表
html字符串。
var listBuilder = new Sys.StringBuilder();
for (var index = 0; index < result.length; ++index) {
listBuilder.append("
");
// 通过readFeed()函数得到提要的详细内容。
listBuilder.append(" listBuilder.append(result[index].Id); // Id
listBuilder.append(")\" >");
listBuilder.append(result[index].Title); // Title
listBuilder.append("");
}
// 设置到提要列表元素上。
var feedList = $get("feedList");
feedList.innerHTML = listBuilder.toString();
}
阅读(370) | 评论(0) | 转发(0) |