国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

使用ASP.NET AJAX框架擴(kuò)展HTML Map控件_.Net教程

2024-07-10 12:50:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:ASP.NET調(diào)用oracle存儲(chǔ)過(guò)程實(shí)現(xiàn)快速分頁(yè)
《使用 ADO.NET 訪問(wèn) Oracle 9i 存儲(chǔ)過(guò)程》見(jiàn)下面的介紹(如果對(duì)這個(gè)不怎么懂的,還是先看看下面文章)http://www.microsoft.com/china/MSDN/library/data/dataAccess/DMSDNorsps.mspx包

【摘要】在本文中,我將向你展示如何使用ASP.NET AJAX框架對(duì)添加可點(diǎn)擊的熱點(diǎn)的HTML Map控件進(jìn)行擴(kuò)展。經(jīng)擴(kuò)展后,當(dāng)我們的鼠標(biāo)移動(dòng)到這些熱點(diǎn)上后,即彈出關(guān)于這些熱點(diǎn)的詳細(xì)信息;但是,這些詳細(xì)信息都是通過(guò)AJAX異步方式從遠(yuǎn)程服務(wù)中取得的。

一、簡(jiǎn)介

首先,我們注意到,ASP.NET 2.0中也提供了一個(gè)服務(wù)器控件ImageMap。此控件是一個(gè)讓你可以在圖片上定義熱點(diǎn)(HotSpot)區(qū)域的服務(wù)器控件。用戶可以通過(guò)點(diǎn)擊這些熱點(diǎn)區(qū)域進(jìn)行回發(fā)(PostBack)操作或者轉(zhuǎn)發(fā)到某個(gè)URL地址。典型情況下,該控件用于需要對(duì)某張圖片的局部范圍進(jìn)行互動(dòng)操作。然而,這個(gè)控件的不足之處在于,在點(diǎn)擊這些熱點(diǎn)區(qū)域進(jìn)行回發(fā)時(shí)將導(dǎo)致整個(gè)Web頁(yè)面的刷新。

在本文中,我們將基于ASP.NET AJAX技術(shù)對(duì)普通的HTML Map控件加以擴(kuò)展,以達(dá)到在點(diǎn)擊其上的熱點(diǎn)區(qū)域時(shí),在顯示有關(guān)詳細(xì)信息時(shí)僅僅導(dǎo)致局部的頁(yè)面更新,從而使之適應(yīng)Web 2.0應(yīng)用程序開(kāi)發(fā)潮流。

下面圖1展示了本文示例程序運(yùn)行時(shí)的一個(gè)快照。

圖1.使用AJAX技術(shù)擴(kuò)展后的Map控件熱點(diǎn)點(diǎn)擊僅引發(fā)局部更新。

從上圖中看到,當(dāng)鼠標(biāo)懸浮于上圖太陽(yáng)系中的木星(木星)上時(shí),有關(guān)該星球的細(xì)節(jié)信息將以一個(gè)彈出窗口形式友好地展示出來(lái)(注:此圖取自MSDN,這里沒(méi)有翻譯相應(yīng)單詞)。

二、 創(chuàng)建一個(gè)AJAX示例網(wǎng)站

啟動(dòng)Visual Studio 2005,選擇“文件→新建網(wǎng)站…”,然后選擇“ASP.NET AJAX-Enabled Web Site”模板,命名工程為“Ajax_ImageMap”,并選擇C#作為內(nèi)置支持語(yǔ)言,最后點(diǎn)擊OK。

然后,添加一個(gè)新的ASPX頁(yè)面ImageMap.aspx,并且按如下所示修改其中的HTML代碼部分:

以下為引用的內(nèi)容:
<IMG SRC="images/solarsys.gif" WIDTH=504 HEIGHT=126 BORDER=0
ALT="Solar System" USEMAP="#SystemMap">
<MAP NAME="SystemMap">
<AREA SHAPE="rect" COORDS="0,0,82,126"
onmouseover="javascript:GetAreaInfo(event, 'sun');" onmouseout="javascript:HidePopup();">
<AREA SHAPE="circle" COORDS="90,58,3"
onmouseover="javascript:GetAreaInfo(event, 'merglobe');" onmouseout="javascript:HidePopup();"
>
<AREA SHAPE…………(省略)
</MAP>

在上面代碼中,我們添加了一個(gè)HTML 元素和一個(gè)HTML 元素(注:VS2005工具欄中沒(méi)有提供現(xiàn)成的控件,只能手工添加)。其中定義了各個(gè)星球相應(yīng)的熱點(diǎn)形狀及坐標(biāo)信息。而且,每一個(gè)熱點(diǎn)都有一個(gè)相應(yīng)的onmouseover和onmouseout JavaScript函數(shù)與之相關(guān)聯(lián)。當(dāng)鼠標(biāo)在這些熱點(diǎn)上移動(dòng)時(shí),這兩個(gè)函數(shù)將被激活,相應(yīng)信息被顯示出來(lái)。有關(guān)這兩個(gè)函數(shù),我們將在后面詳細(xì)討論。

三、 創(chuàng)建一個(gè)AJAX服務(wù)

現(xiàn)在,我們需要?jiǎng)?chuàng)建一個(gè)新的Web服務(wù),由它負(fù)責(zé)與熱點(diǎn)點(diǎn)擊相關(guān)的數(shù)據(jù)檢索任務(wù)。其實(shí),這里所謂的“AJAX服務(wù)”,其功能與通常的Web服務(wù)是一致的。有關(guān)它們之間的細(xì)節(jié)區(qū)別在此不再贅述。現(xiàn)在,你可以右擊工程,然后添加一個(gè)命名為L(zhǎng)ocationService.asmx的Web服務(wù)。

注意,在本例中我們僅想通過(guò)這個(gè)Web服務(wù)來(lái)模擬實(shí)戰(zhàn)環(huán)境中的一種簡(jiǎn)單邏輯。因此,它僅包含一個(gè)Web方法;此方法負(fù)責(zé)模擬從服務(wù)器數(shù)據(jù)庫(kù)中取得客戶端需要的信息。

在此,為了使這個(gè)ASP.NET Web服務(wù)能夠被從客戶端以AJAX方式加以調(diào)用,必須把ScriptService屬性添加到類聲明的前面,如下所示:

以下為引用的內(nèi)容:
[ScriptService()]
  public class LocationService : System.Web.Services.WebService
  {

分享:復(fù)雜ASP.NET服務(wù)器控件調(diào)整小技巧
在創(chuàng)建或修改布局復(fù)雜ASP.NET服務(wù)器端控件時(shí),大量的時(shí)間都是在編譯,等待JIT,修改,編譯,JIT... 這樣一個(gè)循環(huán)中,而且兩個(gè)編譯常常還很耗費(fèi)時(shí)間。特別地,當(dāng)控件已集成在頁(yè)面之中后,在出現(xiàn)

共3頁(yè)上一頁(yè)123下一頁(yè)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁河县| 二连浩特市| 东明县| 庄河市| 高陵县| 通榆县| 桂阳县| 邵阳市| 治多县| 东海县| 巴林左旗| 兴仁县| 疏勒县| 和田市| 体育| 城市| 榆社县| 互助| 紫阳县| 雷州市| 寻乌县| 多伦县| 永德县| 渑池县| 承德市| 湖口县| 社会| 古田县| 灌南县| 舞钢市| 蓝田县| 柯坪县| 靖西县| 和静县| 天柱县| 淮南市| 拉萨市| 启东市| 金华市| 沭阳县| 平定县|