技巧和诀窍:UpdateProgress控件和AJAX活动图像动画

【原文地址】Tip/Trick: UpdateProgress Control and AJAX Activity Image Animations
【原文发表日期】Thursday, September 21, 2006 1:06 PM

ASP.NET AJAX扩展(即Atlas) 提供的很酷的新控件之一是UpdateProgress控件。这个控件允许你在AJAX回调的进行过程中,自动在页面上显示指定的UI。同时,如果AJAX回调耗时太长,你还可以在UI上提供一个选项让用户来取消AJAX回调。在页面上使用该控件,只须这样声明:

    <atlas:UpdateProgress ID=”progress1″ runat=”server”>
        
<ProgressTemplate>
        
            
<div class=”progress”>
                
<img src=”indicator.gif” /> 
                Please Wait…
            </
div>
        
        
</ProgressTemplate>
    
</atlas:UpdateProgress>

在AJAX回调进行中,<ProgressTemplate>里的内容就会显示。你可以通过CSS将里面的内容显示在页面的任何位置,例如,你可能想直接在GridView或其他元素上方通过渐显效果把它显示出来。开发人员经常使用动画图像显示进度,现在也可以在<ProgressTemplate>里面实现这样的效果。

Alan Le最近发了一个很酷的链接,指向几个非常有用的网站,这些网站提供了许多动画进度的图标。你可以很容易地将它们与UpdateProgress控件结合使用,来显示回调操作的进度:

你可以从这几个网站上下载到可用的旋转齿轮和进度图标。下面是几个例子:

本周早些时候,我提到新发布的Atlas控件工具包现在包含了一个动画效果库,可以和ASP.NET AJAX扩展一起使用。与UpdateProgress控件配合使用的话,它们能给你的网站增添很好的视觉效果。

希望本文对你有所帮助,

Scott

 

 

(Ring译)

九月份Atlas控件工具包发布(现支持动画效果)

【原文地址】September Atlas Control Toolkit Released (Now with Animation Support)
【原文发表日期】 Tuesday, September 19, 2006 8:28 AM

Atlas控件工具包的最新版已于上个星期晚些时候推出。这个工具包基于核心ASP.NET AJAX 运行时,是个提供了很多有用的具备AJAX功能的ASP.NET控件库。你可以在这里下载和运行样本程序

就象我在以前的帖子里提到的那样,这个工具包很酷的地方就在于,它包含了几个由非微软开发人员提供的控件。例如,在这个更新版本里,有一个非常酷的新Slider控件(点击这里观看它的实战演示),就是由非微软开发人员贡献的,它提供了非常平滑的,在客户端从数值范围选值的支持:

这个版本里还包括了对一些渐为时兴的客户端动画效果的支持。你可以直接在JavaScript里使用动画效果包,或者通过<atlasToolkit:AnimationExtender>控件来轻易地组合动画行为,以响应用户的动作。譬如,你可以让文字和图片渐现,扩大,爆炸,移动,或pop-up等等。

动画效果包很酷的地方在于,你可以通过<atlas:AnimationExtender>控件,用声明的方式来定义动画行为,这使得定义动画顺序起来既干净又不费力。

你可以在这里进一步研究这个新的动画效果包,同时也能在线运行相关演示。务必查阅一下动画效果包的参考页,以深入学习动画效果类框架,以前它支持的所有的方法,属性和事件。

除了响应用户点击或客户端行为触发动画效果以外,你也可以在用ASP.NET AJAX UpdatePanel控件刷新部分页面做的postback时,使用新的<AtlasToolkit:UpdatePanelAnimationExtender>控件来添加动画效果的支持。这可以使得突出显示变化了的界面的方式更干净,更加对用户友好,譬如,你可以逐渐显示那些变化,或者真想出奇的话,你可以旋转/加彩变化了的界面,让你的用户看了都会晕眩。看一下UpdatePanelAnimationExtender的这个在线演示,深入研究一下这个控件。Alan Le在这里贴了一个很棒的简单例子,给你演示怎么通过这个控件用声明的方式组合动画,你应该去看一下。

一如既往,你可以免费下载带有全部源码的Atlas控件工具包,也可以在线运行它。想进一步学习使用ASP.NET AJAX(即Atlas)以及控件工具包的话,读一下我几个星期前写的这篇博客帖子,内含一堆很棒的免费录像的链接。

希望本文对你有所帮助,

Scott

标签:,
 

(思归译)

技巧和诀窍:在ASP.NET AJAX UpdatePanel中实现对后退/前进按钮的支持

【原文地址】Tip/Trick: Enabling Back/Forward-Button Support for ASP.NET AJAX UpdatePanel
【原文发表日期】Thursday, September 14, 2006 12:25 PM

Nikhil最近写了一个好帖子,是关于一个叫做HistoryControl的支持AJAX的新ASP.NET 控件的。把它加到页面上后,允许开发人员用编程手段往浏览器的历史记录里添加逻辑视图(logical view)。这将使得支持AJAX的网站更加有用,而且遵循传统web应用所遵循的标准的前进/后退的导航惯例。

譬如,通过Nikhil的HistoryControl,开发人员可以编写类似下面这样的编码来响应一个列表的选择变动,并且把列表选择当作标识符添加到浏览器的历史记录中去:

private void ContentList_SelectedIndexChanged(object sender, EventArgs e) {
   history.AddEntry(contentList.SelectedIndex.ToString()
;
}

你一旦往历史控件里添加新项后,浏览器中的后退/前进按钮就被激活了。Nikhil的历史控件提供了一个Navigate事件,当你在浏览器里按后退/前进按钮时,这个事件就会被触发,同时它在事件处理函数的参数里提供了早先在把逻辑视图添加进浏览器历史记录时所用的那个标识符。然后你就可以使用这个标识符来把页面回复到跟这个历史记录相对应的页面状态了:

private void HistoryControl_Navigate(object sender, HistoryEventArgs e) {

    int selectedIndex 0;

    if (String.IsNullOrEmpty(e.Identifier) == false) {
        selectedIndex 
Int32.Parse(e.Identifier);
    
}

    // Update the content being displayed in the page
    
contentList.SelectedIndex selectedIndex;

    // Mark the update panels as needing an update
    
mainUpdatePanel.Update();
}

这样你的用户在使用AJAX应用时也能使用前进/后退按钮来作导航了。你可以在这里下载Nikhil的历史控件的编码,开始用在你的项目里

希望本文对你有所帮助,

Scott

(思归译)

Atlas 1.0版的命名和产品发布计划

【原文地址】“Atlas” 1.0 Naming and Roadmap
【原文发表日期】Monday, September 11, 2006 10:01 AM

在过去的一年内,我们一直在奋力开发Atlas。Atlas一直在发展,变化和成长,是因为我们得到了惊人数量的反馈和早期采纳。我们看到了围绕着这个产品的难以置信的兴趣和兴奋,光是今年,下载数目就超过25万次。

发布Atlas 1.0版

很多人要求我们在Visual Studio下个版本发布之前推出一个完全支持的Atlas 1.0版。完全支持(Fully supported)意味着,Microsoft提供每天24个小时,每周7天,一年365天的产品支持,以及任何客户可以得到热补丁(hotfix),假如他们遇到影响他们应用的bug的话。这也意味着,产品将有一个为期10年的产品生命周期的承诺─这样客户公司就能靠这个产品来开发关键业务(mission critical)的应用程序。

今天,我非常兴奋地宣布,我们将发布基于ASP.NET 2.0的完全支持的Atlas 1.0 版,而且将确保它与Visual Studio 2005的兼容。我们的目标是在年底左右发布Atlas 1.0 版。计划是,先有一个Beta,然后是RC(发布候选),然后会根据客户反馈来决定最后的发布日期。

Atlas功能(Feature)推出计划

为加速日程安排和能在今年推出完全支持的版本,我们将集中精力推出一套完全支持的核心(core)功能。这套核心功能包括,能允许开发人员建立客户端控件/组件所需的所有常用组件,以及提供与ASP.NET集成的服务器端功能(包括无比受欢迎的UpdatePanel以及其他的服务器控件)。

目前Atlas CTP版本支持的一些功能(feature)不会出现在完全支持的核心功能中。但这些功能会以单独下载的形式继续存在下去,而且会在支持的核心版本之上工作。我们并不是要撤销这些功能,而只是想试着把握好(optimize the timing)第一套完全支持的功能的发布时间,而且确保我们具有以更敏捷的方式继续发展和创新一些功能的灵活性,同时,我们想把核心层的功能“烧制好(bake down)”,以避免将来要对它们做影响巨大的变动。

很明显,我们将在未来对所有的功能继续支持Go-Live  license。那些只想使用受完全支持协议保障的产品的企业客户,可以选择只使用核心版中的那些功能。

随着时间的迁移,我们会把越来越多的功能转移到完全支持的范围中去。我们也将在未来的几个星期内发表一个详细的白皮书,列出支持的功能,发布计划,对CTP版做的产品变动等。

对Atlas的命名

作为发布Atlas的一部分,我们也将最后锁定我们以后将开始使用的产品的官方名称。以前笼统叫做Atlas的东西,从现在开始将有几个名字:

1) 客户端Atlas javascript库将被称作“微软AJAX库(Microsoft AJAX Library)”。这将能在任何浏览器中使用,也将支持任何后端web服务器 (阅读这些博客帖子以了解如何在PHPColdFusion里运行)

2) 与ASP.NET 集成极佳的服务器端Atlas功能,将被称作“ASP.NET 2.0 AJAX 扩展(ASP.NET 2.0 AJAX Extensions)”。作为改动的一部分,Atlas控件的标识前缀也将从<atlas:>变成<asp:>。这些控件将成为ASP.NET下个版本的一部分。

3) 今天的“Atlas控件工具包(Atlas Control Toolkit)是套免费的共享源码的控件和组件,使用它,你可以从ASP.NET 2.0 AJAX Extension中获取最大的价值。以后,这个项目的名称将变成 “ASP.NET AJAX 控件工具包(ASP.NET AJAX Control Toolkit)”。

结语

我们非常兴奋,我们将能推出完全支持的1.0 版。它将是100%的跨浏览器和跨平台。它将简化向ASP.NET应用添加丰富的AJAX功能,以及提供给用户改进的用户体验(UX)。把这个功能以最灵活的方式送到你的手中是我们的首要任务,我们相信,我在上面描述的计划将能达到这个目的。

等到明年的Visual Studio “Orcas”版,生活将变得更加美好,我们将添加丰富的JavaScript Intellisense,调试,和在Visual Studio中对ASP.NET AJAX Extensions的WYSIWYG设计器支持,以及还有许多其他非常棒的功能可利用。

谢谢,

Scott

 
(思归译)