技术开发 频道

ASP.NET中的AJAX应用开发详解

  使用jQuery

  当然我们还可以使用目前比较热门的JavaScript框架jQuery,这个在VS2008中需要安装SP1后才能活得智能提示,在VS2010中已经集成了。如果使用jQuery上面的代码可以简化为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    
  
<html xmlns="http://www.w3.org/1999/xhtml">  
  
<head>  
        
<title>使用jQuery获取服务器时间的例子</title>  
        
<script src="jquery-1.2.6-cn.js" type="text/javascript"></script>  
        
<script type="text/javascript" language="javascript">  
                
function getTime() {  
                        $.get(
"GetTime.aspx", { format: "yyyy-mm-dd hh:mm:ss" },  
                        
function(data) {//得到Ajax响应后的回调函数  
                                //$("#time").append("<font color='red'>" + data + "</font>");  
                                $("#time").html("<font color='red'>" + data + "</font>");  
                        });  
                }  
        
</script>  
  
</head>  
  
<body>  
  
<table border="0">  
        
<tr>  
        
<td>服务器时间</td><td><div id="time"></div></td>  
        
</tr>  
        
<tr>  
        
<td><input type="button" value="完整时间" onclick="javascript:void getServerTime('yyyy-mm-dd hh:mm:ss');"    /></td><td><input type="button" value="年月日" onclick="javascript:void getServerTime('yyyy-MM-dd');"    /></td>  
        
</tr>  
        
<tr>  
        
<td><input type="button" value="时分秒" onclick="javascript:void getServerTime('hh:mm:ss');" /></td><td><input type="button" value="月份日期"    onclick="javascript:void getServerTime('mm-dd');" /></td>  
        
</tr>  
        
</table>  
  
</body>  
</html>

 

  可以看出在jQuery中提供了更多、更灵活的处理AJAX和XHTML的方法,简易大家都去了解一下。

  在上面的方式中无论使用自己写全部JavaScript脚本还是利用Protype或者jQuery这类框架的方式,都是需要写一些JS脚本的,有没有尽可能少写脚本的方式呢?毕竟我们知道JS脚本调试起来相对较为困难些。答案是有的,那就是使用AjaxPro。

  使用AjaxPro

  下面是一个使用AjaxPro的例子,设计代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxPager.aspx.cs" Inherits="AjaxPager" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >  
<head runat="server">  
        
<title>AjaxPro翻页效果</title>  
        
<style type="text/css">  
tr.items
{                  
  background-color
: #8FACC2;  
  border-color
:#FFFFFF;  
  line-height
:18px;  
}  
tr.table
{                /*表格内容*/  
  background-color
: #F1F3F5;  
  border-color
:#FFFFFF;  
  line-height
:18px;  
}  
        
</style>  
</head>  
<body onload="JumpPage(0)">  
        
<form id="form1" runat="server">  
        
<div id="memberList">  
        数据装载中,请等待.....  
        
</div>  
        
</form>  
        
<script language="javascript" type="text/javascript" defer="defer">  
                
function JumpPage(var page)  
                {  
                        
var label=document.getElementById("memberList");  
                        label.innerHTML
=AjaxPager.GetString(parseInt(page*20),parseInt(20)).value;//假定每页显示20条数据  
                }  
        
</script>  
</body>  
</html>

 

  后台逻辑代码如下(太长了不能发表,所以省略了,不过关键部分可以见附图):

  从上面的代码中可以看出使用AjaxPro之后可以不用写太多客户端代码,而且不同前面几种做法需要写一个页面调用显示,一个页面负责控制业务逻辑(一般情况下是这样的),使用AjaxPro可以将调用页面和控制业务逻辑页面合在一起,这样服务端代码调试比较方面,而且也不用控制如何发送请求,请求什么时候响应完毕。

  使用AjaxPro有几方面需要注意,就上面的代码中的注意事项说明如下:

  js部分:

  被调用的方法:

0
相关文章