All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net生成验证码(vb.net)_[Asp.Net教程]
PHP实例:用PHP实现多文件上载系统程序_[PHP教程]
.net获取w3wp进程对应的应用程序池_[Asp.Net教程]
将图片插入数据库并使用asp.net读取出来的正确方法_[Asp.Net教程]
PHP截取UTF-8字符串,解决半字符问题_[PHP教程]
ASP.NET实现数字和字符相混合的验证码_[Asp.Net教程]
XMLHTTP 对象及其方法简介_[XML教程]
对C#中的TreeView添加背景图_[Asp.Net教程]
ASP.Net生成一个简单的图片_[Asp.Net教程]
delphi 判断一个文件是否存在
Reading number is top 10 pictures
More attractive than sora aoi4
A man's favorite things15
福利福利。。。。。。
梦幻的风景
A man's favorite things1
西方气质的东方美女2
Sell the barbecue as says father du breul2
The real super beauty6
The money of more than 100 countries and regions7
关于提肛的健身效果
Download software ranking
天龙八部十二宫服务端
Sora aoi, the nurse, uniform ,nursing assistant
Unix video tutorial13
网络管理员第三版
Desire a peach blossom
WebService在.NET中的实战应用教学视频 → 第2集
DreamWeaver8
金山office2007
Boxer's Top ten classic battle2
Tram sex maniac 2 (H) rar bag6
delv published in(发表于) 2014/1/6 9:11:52 Edit(编辑)
基于AJAX技术的DataGrid控件编程_[Asp.Net教程]

基于AJAX技术的DataGrid控件编程_[Asp.Net教程]

基于AJAX技术的DataGrid控件编程_[Asp.Net教程]

简介

  在传统的Web开发中,每次DataGrid控件填充或更新都相应于一次到服务器的数据回馈。但是,借助于AJAX技术,我们可以在不进行表单提交(刷新)的情况下即可以填充DataGrid控件。


  在本文中,我们通过一个简单示例并借助于一个DropDownList控件的帮助来讨论如何达到这一目的。在这个例子中,我们使用了一个DropDownList控件;一旦改变DropDownList的值,它即用相应的城市名来填充DataGrid控件,在此过程中我们巧妙了引入了AJAX技术。


  既然我们已经了解一些AJAX的基本知识,现在让我们进一步讨论这个DataGrid示例程序。在本例中,我们主要解释如何从客户端发送请求,如何处理请求,以及如何运行客户端脚本来显示DataGrid中的数据。


  示例应用程序结构


  在本例中,我们共建立了两个Web表单(AjaxServer.aspx和DataGridEx.aspx),一个JavaScript文件和一个层叠式样表文件(css)。文件AjaxServer.aspx负责服务器端功能(一旦选择即返回作者结果),而文件DataGridEx.aspx负责使用AJAX技术显示返回的结果。下面让我们作进一步分析。


  1. AjaxServer.aspx


  这个页面以选择的“City”作为请求。它取回所有的属于该城市的作者并且把一个XML响应字符串返回到客户端(见列表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


  这个页面开始把所有的作者信息显示在DataGrid中。每当DropDownList中发生变化,它使用JavaScript文件取回内容并预以显示。注意:为了显示当前正运行的进程的状况,我们在此使用了一个面板。该面板具有一个GIF图像(开始不可见)—在处理发生于服务器端时它被显示,而一旦处理结束即变为不可见的(见图1)。我们这样做的根本目的就是为了让用户详细了解当前正运行的进程情况。




图1.DatagridEx.aspx的快照(为了显示进程)


  3.JavaScript文件


  这个文件负责整个进程的处理请求和响应。这个文件将生成XMLHttpRequest并且把选择的城市发送到AjaxServer.aspx页面。一旦返回,它得到一个类似于数据库表的输出结果—该结果将被填充到DataGrid中。

  一开始,上图面板中的“进程”图像是不可见的。当DropDownList选择发生变化时,“进程”图像就显示出来,直到用返回的结果填充DataGrid为止(见列表2)。该DataGrid被返回的数据填充—通过使用一个简单的for循环来读取返回的内容(见列表3)。


  列表2—进程状态


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—使用收到的响应数据填充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)

}

}


  运行示例代码


  你可以下载本文相应的示例源码进行分析。首先,创建一个命名为MyAjax的虚拟目录,然后把解压后的文件复制到该目录下即可。最后,打开Visual Studio.NET解决方案资源管理器并按F5键运行程序,并观察结果。


  总结


  本文通过一个简单的例子—使用AJAX技术操作DataGrid控件—来显示服务器调用的处理状态。这是把AJAX技术应用于.NET平台Web开发的又一简单示例。


来源:51cto





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.