麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > AJAX > 正文

基于AJAX技術(shù)的DataGrid控件編程

2024-07-21 02:29:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
菜鳥(niǎo)學(xué)堂:

  簡(jiǎn)介

  在傳統(tǒng)的中,每次datagrid控件填充或更新都相應(yīng)于一次到服務(wù)器的數(shù)據(jù)回饋。但是,借助于ajax技術(shù),我們可以在不進(jìn)行表單提交(刷新)的情況下即可以填充datagrid控件。

  在本文中,我們通過(guò)一個(gè)簡(jiǎn)單示例并借助于一個(gè)dropdownlist控件的幫助來(lái)討論如何達(dá)到這一目的。在這個(gè)例子中,我們使用了一個(gè)dropdownlist控件;一旦改變dropdownlist的值,它即用相應(yīng)的城市名來(lái)填充datagrid控件,在此過(guò)程中我們巧妙了引入了ajax技術(shù)。

  既然我們已經(jīng)了解一些ajax的基本知識(shí),現(xiàn)在讓我們進(jìn)一步討論這個(gè)datagrid示例程序。在本例中,我們主要解釋如何從客戶端發(fā)送請(qǐng)求,如何處理請(qǐng)求,以及如何運(yùn)行客戶端腳本來(lái)顯示datagrid中的數(shù)據(jù)。

  示例應(yīng)用程序結(jié)構(gòu)

  在本例中,我們共建立了兩個(gè)web表單(ajaxserver.aspx和datagridex.aspx),一個(gè)javascript文件和一個(gè)層疊式樣表文件(css)。文件ajaxserver.aspx負(fù)責(zé)服務(wù)器端功能(一旦選擇即返回作者結(jié)果),而文件datagridex.aspx負(fù)責(zé)使用ajax技術(shù)顯示返回的結(jié)果。下面讓我們作進(jìn)一步分析。

  1. ajaxserver.aspx

  這個(gè)頁(yè)面以選擇的“city”作為請(qǐng)求。它取回所有的屬于該城市的作者并且把一個(gè)xml響應(yīng)字符串返回到客戶端(見(jiàn)列表1)。

  列表1—ajaxsever.aspx.vb代碼

private sub page_load(byval sender as system.object,

byval e as system.eventargs) handles mybase.load

if not ispostback then

choice = request("choice")

if choice.length > 0 then

response.clear()

if choice = "all cities" then

da = new sqldataadapter("select * from authors", con)

else

da = new sqldataadapter("select * from authors where city ='" & request("choice") & "'", con)

end if

da.fill(ds)

chstring = ds.getxml()

response.clear()

response.contenttype = "text/xml"

response.write(chstring)

response.end()

else

response.clear()

response.end()

end if

else

response.clear()

response.end()

end if

end sub

  2. datagridex.aspx

  這個(gè)頁(yè)面開(kāi)始把所有的作者信息顯示在datagrid中。每當(dāng)dropdownlist中發(fā)生變化,它使用javascript文件取回內(nèi)容并預(yù)以顯示。注意:為了顯示當(dāng)前正運(yùn)行的進(jìn)程的狀況,我們?cè)诖耸褂昧艘粋€(gè)面板。該面板具有一個(gè)gif圖像(開(kāi)始不可見(jiàn))—在處理發(fā)生于服務(wù)器端時(shí)它被顯示,而一旦處理結(jié)束即變?yōu)椴豢梢?jiàn)的(見(jiàn)圖1)。我們這樣做的根本目的就是為了讓用戶詳細(xì)了解當(dāng)前正運(yùn)行的進(jìn)程情況。



圖1.datagridex.aspx的快照(為了顯示進(jìn)程)

  3.javascript文件

  這個(gè)文件負(fù)責(zé)整個(gè)進(jìn)程的處理請(qǐng)求和響應(yīng)。這個(gè)文件將生成xmlhttprequest并且把選擇的城市發(fā)送到ajaxserver.aspx頁(yè)面。一旦返回,它得到一個(gè)類(lèi)似于數(shù)據(jù)庫(kù)表的輸出結(jié)果—該結(jié)果將被填充到datagrid中。

  一開(kāi)始,上圖面板中的“進(jìn)程”圖像是不可見(jiàn)的。當(dāng)dropdownlist選擇發(fā)生變化時(shí),“進(jìn)程”圖像就顯示出來(lái),直到用返回的結(jié)果填充datagrid為止(見(jiàn)列表2)。該datagrid被返回的數(shù)據(jù)填充—通過(guò)使用一個(gè)簡(jiǎn)單的for循環(huán)來(lái)讀取返回的內(nèi)容(見(jiàn)列表3)。

  列表2—進(jìn)程狀態(tài)

function fetchdgcontents(){

var selecteditem = document.form1.ddlcity.value;

imgtbl.style.visibility = 'visible';

var requesturl = ajaxserverpagename + "?choice=" +

encodeuricomponent(selecteditem);

createxmlreq();

if(xmlreq){

xmlreq.onreadystatechange = handleresponse;

xmlreq.open("get", requesturl, true);

xmlreq.send();

}

}

  列表3—使用收到的響應(yīng)數(shù)據(jù)填充datagrid控件

function filltable(scity){

var auth = scity.getelementsbytagname('authors');

var tbl = document.getelementbyid('dgauthors').getelementsbytagname("tbody")[0];

for(var i=0;i
{

var row = document.createelement("tr");

row.setattribute("classname","text");

row.setattribute("bgcolor","#ececec");

for(var j=0;j
{

var cell = document.createelement("td");

cell.innerhtml = auth.context.childnodes(i).childnodes(j).text;

row.appendchild(cell);

}

tbl.appendchild(row)

}

}

  運(yùn)行示例代碼

  你可以下載本文相應(yīng)的示例源碼進(jìn)行分析。首先,創(chuàng)建一個(gè)命名為myajax的虛擬目錄,然后把解壓后的文件復(fù)制到該目錄下即可。最后,打開(kāi)visual studio.net解決方案資源管理器并按f5鍵運(yùn)行程序,并觀察結(jié)果。

  總結(jié)

  本文通過(guò)一個(gè)簡(jiǎn)單的例子—使用ajax技術(shù)操作datagrid控件—來(lái)顯示服務(wù)器調(diào)用的處理狀態(tài)。這是把a(bǔ)jax技術(shù)應(yīng)用于.net平臺(tái)的又一簡(jiǎn)單示例。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜精品老牛av一区二区三区 | 久久久久免费精品国产小说色大师 | 91超在线| 欧美一级在线看 | 久久久久久久免费看 | 一级成人欧美一区在线观看 | 成人福利视频在线观看 | 日日草天天干 | 精品国产91久久久久久浪潮蜜月 | 美女黄视频在线观看 | 国产青草视频在线观看视频 | av在线免费看片 | 中文字幕在线网站 | 1314av | 欧美日韩综合视频 | 亚洲成人精品国产 | 久久久久国产成人精品亚洲午夜 | 精品呦女 | 黑人一区二区三区四区五区 | 在线视频1区 | 亚洲成人免费网站 | 羞羞视频免费网站含羞草 | 91精品欧美一区二区三区 | 精品亚洲在线 | 欧美三级欧美成人高清www | 亚洲精品久久久久久 | 在线亚洲欧美 | 国产精品伊人久久 | 毛片一级免费看 | 美女在线视频一区二区 | 日韩三级伦理在线观看 | 黄色一级片免费观看 | 黄视频网址 | 亚洲码无人客一区二区三区 | 中文字幕h | 久久国产精品91 | 男人的天堂视频网站 | 午夜视频在线免费播放 | 久久久久一本一区二区青青蜜月 | 精品国产一区二区三区天美传媒 | 成人黄色小视频网站 |