利用Atlas库为Web页面加入鼠标拖放功能 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2006年10月24日 09:05 天极yesky | |||||||||||||||
|
作者:朱先忠编译 摘要 有时,AJAX看上去为web页面平添了一分神秘的色彩。如果页面能够支持一些小件(例如图像和文本块)的拖放操作,那么,这明显会使访问者眼前一亮。在本文中,你会看到,利用微软Atlas你也会非常容易地在客户端实现类似的鼠标拖放功能。
接下来,把一个<atlas:UpdatePanel>控件添加到该页面,并且在它内部添加<ContentTemplate>元素。之后,再把一个面板控件添加到该<ContentTemplate>元素并且按如下所示设置它的边界风格和尺寸:
现在,既然你已经在一个<atlas:UpdatePanel>控件中嵌入了一个面板控件,那么,接下来,你需要把一些内容添加到该面板控件中。为此,你既可以添加一些文本也可以添加另一个控件,例如Calendar、ImageMap,等等。在这个示例中,我想添加一个时钟以显示一个选定时区的时间。注意,在站点ClockLink.com处提供了许多时髦的时钟,你可以容易地把它们嵌入到你的web页面里面。这些时钟能够在客户端页面每隔一秒更新自身一次而不会导致一次页面重载。在此,你将添加一个显示新泽西州时间的时钟。为了嵌入这个钟,你只需要简单地插入下列以高亮加粗显示的脚本即可:
至此,只要按下F5键,你就能够看到该页面的样式。图1显示了该时钟显示于一个面板控件内的情形。
停止运行应用程序。现在,让我们加入一些功能使上面的面板控件包含可移动的时钟。你将使用<atlas:DragOverlayExtender>控件来达到这一目的。其实,这个<atlas:DragOverlayExtender>控件继承自另一个控件并进一步把它转变成为一个可拖动的控件。最终,你能够在Web页面上任意拖放这个控件。 现在,请添加<atlas:DragOverlayExtender>一个控件并对它进行配置-添加一个<atlas:DragOverlayProperties>控件并且设置它的TargetControlID属性为"Panel1"。还要记住:把它的Enabled属性设置为true:
再次按F5键测试该应用程序。现在,你应该能够在页面上拖动这个时钟。然而,你会注意到,当你释放鼠标时,该时钟将总是返回到它的原始位置。因为你不能把该控件拖动到页面中生成的其它控件上并且你的页面上除了这个面板控件外一片空白,所以会发生这一现象。为此,你可以通过简单地在页面的<body>元素中添加下列属性来更正这个问题:
按F5再次测试该应用程序。现在,你应该能够拖动该时钟,并把它拖放到页面的任何位置,只要你仍然在面板控件范围之内(见图2)。
| |||||||||||||||
















