使用Asp.net2.0和Atlas实现拖放操作
【IT168技术文档】
介绍
本文的目的是帮助读者理解如何使用Microsoft的Atlas技术实现HTML对象的拖放操作。Atlas将使开发Ajax程序变得更简单。就象所有的技术一样,要想充分地发挥Atlas的作用,理解Atlas的底层原理是非常重要的。Atlas的卖点之一就是它提供了新的XML标记语法,通过这种新的XML标记,可以使Atlas更容易使用。有了XML标记,开发人员可以在声明中修改他们的代码。然而,有时开发人员需要使用编程的方式修改他们的代码,为了达到这一目的,开发人员就必须理解标记的底层结构,事实上,开发人员是在和JavaScript和一些Microsoft开发的JavaScript库打交道。为了更好地举例说明Atlas声明模型和编程模型的关系,我将举一些这方面的例子,在这些例子中将同时使用声明和编程的方式来完成同样的任务。我将举例说明如何使用AtlasUIDragDrop库文件实现基本的拖放操作,以及如何设置拖放区。
背景
当我写这篇文章时,Atlas仍然是测试版,并且还在继续变化。这些例子只是对四月份的Atlas的CTP版所设计的。更新的Atlas版本可能将影响到这些例子。我会尽量更新这些代码,以使其可以在新版的Atlas中良好地运行。Atlas只能运行在.NET 2.0中。
一、声明拖放
首先要做的是使用Atlas标记将拖放行为加入到div标签中。所谓拖放,就是拖动一个对象,然后将它放到任何你想放到的地方。本文后面的部分将讲解更复杂的拖放操作,如将一个对象拖到指定的目标,然后执行一些动作。要想使用Atlas来开发网页,必须从Microsoft网站下载Microsoft.Web.Atlas.dll文件到bin目录,然后按以下给出的代码设置你的web.config文件。
<system.web>
<pages>
<controls>
<add namespace="Microsoft.Web.UI"
assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
<add namespace="Microsoft.Web.UI.Controls"
assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
</controls>
</pages>
</system.web>
你需要在.aspx页中加入一个Atlas脚本管理控件,然后使用AtlasUIDrapDrop库文件设置它:
<atlas:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>...
<atlas:ScriptReference ScriptName="AtlasUIDragDrop" />
</Scripts>
</atlas:ScriptManager>
加入你想拖动的div对象,并保证div对象有一个拖动句柄。
<div style="background-color:Red;height:800px;width:600px;">
<div id="draggableDiv"
style="height:100px;width:100px;background-color:Blue;">
<div id="handleBar"
style="height:20px;width:auto;background-color:Green;">
</div>
</div>
</div>
最后,加入标记脚本,以使div可以被拖动:
<script type="text/xml-script">...
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<control id="draggableDiv">
<behaviors>
<floatingBehavior handle="handleBar"/>
</behaviors>
</control>
</components>
</page>
</script>
如果你照着上面的步骤做,那么你将有一个可以拖动的div标签。这个例子充分说明了使用Atlas的声明模型开发web程序是多么简单和容易。到现在为止,你已经使用了Atlas的声明标记为一个HTML元素添加了拖动的功能。
