位置:海鸟网 > IT > ASP.NET >

ASP.NET 2.0+Atlas编写鼠标拖放程序

摘要 本文将详细探讨Atlas中的声明性编程与强制性编程之间的关系,及如何用之在一个web客户端实现拖放功能。下图为本文相应示例程序运行结果快照。

ASP.NET 2.0+Atlas编写鼠标拖放程序



  一. 简介

  本文旨在帮助读者理解微软的Atlas技术的某些方面的工作原理。Atlas的实现宗旨是简化AJAX风格的Web程序开发。然而,就象所有其它技术一样,为了更好地使用这个工具,你需要深入理解Atlas抽象的内在技术。Atlas抽象的一个关键之处是新的XML标记语法,目的是实现利用Atlas进行编程更为容易。借助于XML标记,开发者能够以声明性方式修改他们的代码。然而,有时当一个开发者可能想以编程方式来改变其代码时,他需要理解,在标记抽象层下面,他实际在与一些JavaScript及一些微软开发的定制JavaScript库打交道。为了展示Atlas声明性模型与可编程模型之间的关系,我们将讨论几个例子,在这些示例中,我们将使用两种模型来实现相同的功能。我将向你展示如何使用AtlasUIDragDrop库文件来执行基本的拖放操作以及建立放置区。

  [背景]

  当我写作本文时,Atlas仍处于其beta测试阶段,并且在继续修改中。本文中的这些示例适用于Atlas的四月CTP版本;因此,Atlas的更新的发行版本可能会影响本文的精确性。另外,还要注意,Atlas仅能与.NET 2.0一起工作。

  二. 声明性拖放

  为了把拖放行为添加到一个div标签,第一项任务是使用Atlas标记。通过拖放,我仅想实现能够拖放一个对象并且让它位于你想把它放置的地方。当把一个对象放置到一个指定的点时,在实际开发中所表现出的动作将在后面讨论。为了配置你的网页以便使用Atlas,你需要从微软站点把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>


  接下来,你需要把一个Atlas脚本管理器控件添加到你的.aspx页面并且使用AtlasUIDragDrop库来配置:

<atlas:ScriptManager ID="ScriptManager1" runat="server">
 <Scripts>
  <atlas:ScriptReference ScriptName="AtlasUIDragDrop" />
 </Scripts>
</atlas:ScriptManager>


  然后,添加你想使之可拖放的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="">
 <components>
  <control id="draggableDiv">
   <behaviors>
    <floatingBehavior handle="handleBar"/>
   </behaviors>
  </control>
 </components>
</page>
</script>


  至此,你应该有了一个可拖放的div标签。该示例展示了结合Atlas使用声明性方式的简单性和容易性。在Atlas所引入的术语中,你仅使用了声明性标记来把漂浮行为添加到一个HTML元素。