自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET JavaScript的頁(yè)面整合淺談

開(kāi)發(fā) 后端
ASP.NET JavaScript的整合,是如何呢?那么在本文就向你介紹如何在ASP.NET的平臺(tái)上如何整合JavaScript。

ASP.NET JavaScript的整合的前言,盡管ASP.NET提供了一個(gè)強(qiáng)壯的平臺(tái),但是開(kāi)發(fā)者也不應(yīng)忽視諸如JavaScript這樣成熟的技術(shù)。在這篇文章中,Tony Patton將向您解釋在Web開(kāi)發(fā)中如何將JavaScript與ASP.NET控件進(jìn)行整合。

盡管Web開(kāi)發(fā)平臺(tái)提供了靈活性和眾多功能,您經(jīng)常希望或需要依賴(lài)現(xiàn)有的技術(shù)來(lái)完成一項(xiàng)必須的任務(wù),一個(gè)好的例子就是ASP.NET,它提供了一個(gè)強(qiáng)大的開(kāi)發(fā)平臺(tái),但是同時(shí)也不應(yīng)忽略像JavaScript這樣成熟的技術(shù),在這篇文章中,我將向您講解如何將JavaScript代碼聯(lián)結(jié)到ASP.NET控件中。

ASP.NET JavaScript的整合常規(guī)方式

通常情況下,當(dāng)一個(gè)Web應(yīng)用軟件需要一個(gè)彈出窗口或確認(rèn)窗口或其它的客戶(hù)端功能時(shí),您可以創(chuàng)建必需的JavaScript方法,并在需要時(shí)調(diào)用它們。例如,在列表A中包含了一個(gè)確認(rèn)窗口,用戶(hù)可以用它來(lái)繼續(xù)或取消表單的提交。

在選擇了提交(submit)按鈕之后,JavaScript的confirmSubmit方法就被調(diào)用了,這一確認(rèn)提示允許用戶(hù)繼續(xù)進(jìn)行表單提交(選擇確認(rèn))或取消(選擇取消)。

以上代碼可以按照計(jì)劃工作,但是在一個(gè)開(kāi)發(fā)平臺(tái)上工作的時(shí)候就沒(méi)有這么簡(jiǎn)單了,比如ASP.NET。

ASP.NET JavaScript的整合之ASP.NET的替換選項(xiàng)

ASP.NET支持使用諸如輸入按鈕和文本框等HTML元素,但是在ASP.NET自己的開(kāi)發(fā)模型上有一套完成的控件元素可以提供額外的功能。

將JavaScript附加到ASP.NET上并不像直接的HTML/JavaScript方式那么簡(jiǎn)單,ASP.NET編程模式在基本頁(yè)面類(lèi)中提供了方法來(lái)附加腳本程序塊到頁(yè)面元素當(dāng)中。以下的方法可以用于附加或整合JavaScript到頁(yè)面或頁(yè)面元素中:

RegisterClientScriptBlock:允許您的頁(yè)面含有腳本程序塊,客戶(hù)端腳本在頁(yè)面對(duì)象form runat= server>元素的起始標(biāo)簽之后開(kāi)始運(yùn)行,腳本程序塊是作為對(duì)象來(lái)提交輸出的,所以您必需加上兩個(gè)script>元素標(biāo)簽。

RegisterOnSubmitStatement:允許您指派一個(gè)腳本程序塊/方法到頁(yè)面對(duì)象OnSubmit事件上。

RegisterStartupScript:允許您在頁(yè)面中包含腳本程序塊,與RegisterClientScriptBlock方法類(lèi)似,這一方法在頁(yè)面對(duì)象form runat= server>元素的結(jié)束標(biāo)簽之前開(kāi)始運(yùn)行,腳本程序塊是作為對(duì)象來(lái)提交輸出的,所以您必需加上兩個(gè)script>元素標(biāo)簽。

每個(gè)方法都可以接受兩個(gè)參數(shù):鍵和腳本,鍵是分配給腳本程序塊的名稱(chēng),鍵值應(yīng)當(dāng)是唯一的,通過(guò)這一唯一的鍵值,多個(gè)服務(wù)器控制的實(shí)例可以請(qǐng)求腳本程序塊,而不必讓腳本再次運(yùn)行輸出流;第二個(gè)參數(shù)腳本包含了發(fā)送到客戶(hù)的實(shí)際腳本,它可以是完整的JavaScript代碼或一個(gè)方法的名稱(chēng)。

這些方法可以使用在實(shí)際的ASP.NET頁(yè)面代碼中,無(wú)論是VB.NET、C#、J#或任何其它的語(yǔ)言,列表B展示了用C#編寫(xiě)的ASP.NET示例代碼。

JavaScript方法是通過(guò)一個(gè)字符串變量來(lái)構(gòu)建的,它的值傳遞給RegisterClientScriptBlock方法作為第二個(gè)參數(shù),實(shí)際的方法名稱(chēng)是通過(guò)該對(duì)象的Attributes 屬性的Add方法來(lái)分配給ASP.NET的按鈕控件的,JavaScript事件是作為第一個(gè)參數(shù)傳遞的,而方法名稱(chēng)則是第二個(gè)參數(shù)。
 
而且,你可能會(huì)注意到IsStartupScriptRegistered方法的使用,該方法允許您在繼續(xù)使用前確認(rèn)該腳本是否已經(jīng)被注冊(cè)了,有兩個(gè)方法可以用于這個(gè)問(wèn)題:

IsStartupScriptRegistered:確認(rèn)客戶(hù)端的起始腳本是否已經(jīng)在頁(yè)面對(duì)象上注冊(cè),其單一參數(shù)是腳本的名稱(chēng)。

IsClientScriptBlockRegistered:確認(rèn)客戶(hù)端的腳本程序塊是否已經(jīng)在頁(yè)面對(duì)象上注冊(cè),其唯一的參數(shù)是腳本的名稱(chēng)。

另一個(gè)解決問(wèn)題的方法就是使用頁(yè)面類(lèi)的RegisterOnSubmitStatement方法,列表C重復(fù)了列表B的功能,但是不同之處在于將confirmSubmit方法連接到頁(yè)面的提交事件上而不是按鈕的點(diǎn)擊事件上。

這個(gè)簡(jiǎn)單的例子清晰地說(shuō)明了如何將JavaScript腳本程序塊和JavaScript腳本包含到ASP.NET頁(yè)面的控件上,如果您使用ASP.NET控件,這種方法可以幫助您將腳本聯(lián)系到這些控件上,但是也可以使用注冊(cè)(register)方法來(lái)集中一個(gè)項(xiàng)目的JavaScript。您可以創(chuàng)建一個(gè)包含了腳本的類(lèi)文件并在需要時(shí)在頁(yè)面中使用它們,這樣就只需在一個(gè)位置對(duì)這些腳本進(jìn)行管理,在一個(gè)應(yīng)用軟件中的一個(gè)或多個(gè)頁(yè)面上使用這些腳本就會(huì)變得更容易。

集新舊于一身

無(wú)論在哪種開(kāi)發(fā)平臺(tái),您都不太可能放棄使用JavaScript作為客戶(hù)端腳本語(yǔ)言,JavaScript都是開(kāi)發(fā)客戶(hù)端功能的標(biāo)準(zhǔn),盡管ASP.NET控件提供了大量的功能,很多時(shí)候您還需要將JavaScript與這些控件進(jìn)行“聯(lián)姻”,幸好ASP.NET頁(yè)面類(lèi)包含了眾多的方法來(lái)將腳本程序塊和方法集成到頁(yè)面及其控件上。

ASP.NET JavaScript的整合方面的情況就向你介紹到這里,希望對(duì)你有所幫助。

【編輯推薦】

  1. ASP.NET與ASP相比的優(yōu)點(diǎn)淺析
  2. ASP.NET MD5和SHA1加密方法的淺析
  3. ASP.NET學(xué)習(xí)之CSS實(shí)現(xiàn)多界面二大方法
  4. ASP.NET中Cookie編程基礎(chǔ)淺析
  5. ASP.NET編程習(xí)慣淺析
責(zé)任編輯:仲衡 來(lái)源: 博客堂
相關(guān)推薦

2009-07-21 15:50:47

ASP.NET控件JavaScript

2009-07-23 11:11:41

2009-08-04 16:05:15

ASP.NET頁(yè)面生命

2009-07-24 10:52:42

ASP.NET ISA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-20 15:30:11

ASP.NET應(yīng)用

2009-04-21 09:37:50

ASP.NETAjaxJavaScript

2009-07-29 11:19:03

JavaScriptASP.NET

2009-07-28 18:00:11

ASP.NET程序

2009-07-27 13:01:28

TreeViewASP.NET

2009-08-05 15:29:33

ASP.NET For

2009-07-23 15:44:39

ASP.NET MVC

2009-07-28 17:49:30

ASP.NET定期回收

2009-07-22 13:24:24

ASP.NET MVC

2009-07-28 16:03:23

ASP.NET狀態(tài)服務(wù)

2009-08-10 10:19:47

ASP.NET組件設(shè)計(jì)

2009-07-20 17:12:17

ASP.NET訪問(wèn)數(shù)據(jù)

2009-07-23 15:24:37

ASP.NET Ima

2011-08-23 10:58:59

2009-07-21 14:16:02

ASP.NET管道優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)