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

技術(shù)人員詳細(xì)說(shuō)明調(diào)用JS 標(biāo)準(zhǔn)相關(guān)問題

開發(fā)
在撰寫本文時(shí),希望看到混合及廣泛使用的JSON 標(biāo)準(zhǔn)和“Ajax”具有同一含義。在本文中,我們堅(jiān)持“Ajax 術(shù)語(yǔ)”。但是,如果商業(yè)產(chǎn)品要提供啟用 Ajax 樣式應(yīng)用程序的框架。

我們已經(jīng)介紹了如何在 JavaScript 中、以及通過(guò) Jayrock 在 .NET Framework 中使用JSON 標(biāo)準(zhǔn),接下來(lái)我們來(lái)看一個(gè)關(guān)于在何處以及如何應(yīng)用這些知識(shí)的實(shí)際示例。考慮 ASP.NET 2.0 的客戶端腳本回調(diào)功能。

JSON 標(biāo)準(zhǔn)可簡(jiǎn)化 web 瀏覽器向 ASP.NET 頁(yè)面(或向頁(yè)面中的特定控件)發(fā)出帶外調(diào)用的過(guò)程。在典型的回調(diào)情形中,瀏覽器中的客戶端腳本將數(shù)據(jù)打包并回送到 web 服務(wù)器,由服務(wù)器端方法進(jìn)行某些處理。從服務(wù)器收到響應(yīng)數(shù)據(jù)后,客戶端會(huì)用它來(lái)更新瀏覽器顯示。

注意 可在《MSDN 雜志》的文章JSON 標(biāo)準(zhǔn)“ASP.NET 2.0 中的腳本回調(diào)”中找到更多信息??蛻舳嘶卣{(diào)情形中的難題在于,客戶端和服務(wù)器只能來(lái)回運(yùn)送一個(gè)字符串。因此,待交換的信息必須在發(fā)送前從本機(jī)內(nèi)存中的表示形式轉(zhuǎn)換為字符串,然后在收到后從字符串分析回本機(jī)內(nèi)存中的表示形式。

ASP.NET 2.0 中的客戶端腳本回調(diào)功能不要求進(jìn)行交換的數(shù)據(jù)使用特定字符串格式,也不提供在本機(jī)內(nèi)存中和字符串表示之間進(jìn)行轉(zhuǎn)換的任何內(nèi)置功能;開發(fā)人員可以依據(jù)所選擇的數(shù)據(jù)交換格式來(lái)實(shí)現(xiàn)轉(zhuǎn)換邏輯。#t#

以下示例說(shuō)明了如何在客戶端腳本回調(diào)情形中將 JSON 用作數(shù)據(jù)交換格式。特別是,該示例由 ASP.NET 頁(yè)面組成,此頁(yè)面使用 Northwind 數(shù)據(jù)庫(kù)中的數(shù)據(jù),以下拉列表形式提供類別列表;選定類別中的產(chǎn)品則顯示在項(xiàng)目符號(hào)列表中(請(qǐng)參見圖 3)。每當(dāng)客戶端更改下拉列表時(shí),將發(fā)生回調(diào)并傳入***元素為選定 CategoryID 的數(shù)組。

注意 我們傳入的是包含選定 CategoryID 作為其***元素的數(shù)組(而不僅僅是 CategoryID),因?yàn)?JSON 標(biāo)準(zhǔn)要求任何 JSON 文本都必須有對(duì)象或數(shù)組作為其根。當(dāng)然,客戶端不需要向服務(wù)器傳遞 JSON 文本,在此示例中本來(lái)可以只將選定的 CategoryID 作為字符串進(jìn)行傳遞。

但是,我們想要演示在回調(diào)的請(qǐng)求和響應(yīng)消息中發(fā)送 JSON 文本。Page_Load 事件處理程序的以下代碼配置了 Categories DropDownList Web 控件,以便在它發(fā)生更改時(shí)調(diào)用 JSON 標(biāo)準(zhǔn)函數(shù),并傳遞選定的下拉列表值。如果傳入的下拉列表值大于零,此函數(shù)會(huì)初始化客戶端腳本回調(diào):

  1. // Add client-side onchange event to drop-down list  
  2. Categories.Attributes["onchange"] = "Categories_onchange(this);";  
  3. // Generate the callback script  
  4. string callbackScript = ClientScript.GetCallbackEventReference(  
  5. /* control        */ this,   
  6. /* argument       */ "'[' + categoryID + ']'",   
  7. /* clientCallback */ "showProducts",   
  8. //* context        */ "null");  
  9. // Add the Categories_onchange function  
  10. ClientScript.RegisterClientScriptBlock(GetType(),  
  11. "Categories_onchange", @"  
  12. function Categories_onchange(sender)  
  13. {  
  14. clearResults();  
  15. var categoryID = sender.value;              
  16. if (categoryID > 0)  
  17. {  
  18. " + callbackScript + @"  
  19. }  
  20. }", true); 

 

責(zé)任編輯:chenqingxiang 來(lái)源: 電子工業(yè)出版社
相關(guān)推薦

2010-02-05 17:04:31

Android版本

2009-12-07 13:12:18

WFC端口

2010-01-19 09:54:19

C++代碼

2009-12-09 15:40:04

Visual Stud

2010-02-22 13:20:58

Python中文問題

2009-12-22 15:44:47

ADO.NET菜單

2010-01-13 16:08:31

C++語(yǔ)言

2014-01-23 11:11:31

2009-12-28 09:26:09

ADO對(duì)象

2010-02-24 10:07:28

Python虛擬機(jī)

2015-05-11 13:57:15

IT技術(shù)人員思考問題

2010-01-13 13:27:00

C++優(yōu)化

2012-09-20 09:31:41

技術(shù)技術(shù)人員技術(shù)開發(fā)

2010-01-13 10:31:35

C++代碼

2010-01-07 16:09:04

學(xué)習(xí)JSON

2009-04-17 10:13:05

技術(shù)人員晉升職場(chǎng)

2010-07-21 13:17:52

Perl文件讀寫

2010-02-22 17:54:07

Python工具

2009-12-07 18:06:46

WCF框架

2009-12-08 09:00:14

WCF線程
點(diǎn)贊
收藏

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