ASP.NET 2.0+Atlas編寫滑鼠拖放程式

來源:互聯網
上載者:User

摘要 本文將詳細探討Atlas中的宣告式程式設計與強制性編程之間的關係,及如何用之在一個web用戶端實現拖放功能。下圖為本文相應樣本程式運行結果快照。

運行結果

一. 簡介

本文旨在協助讀者理解微軟的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="http://schemas.microsoft.com/xml-script/2005">
 <components>
<control id="draggableDiv">
 <behaviors>
<floatingBehavior handle="handleBar"/>
 </behaviors>
</control>
 </components>
</page>
</script>

至此,你應該有了一個可拖放的div標籤。該樣本展示了結合Atlas使用聲明性方式的簡單性和容易性。在Atlas所引入的術語中,你僅使用了聲明性標記來把漂浮行為添加到一個HTML元素。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.