Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层

VS 2008

本文通过两个简单的例子,了解Asp.Net Ajax Asynchronous Communication Layer

Asp.Net Ajax异步通信层提供了一系列客户端的类,用于客户端请求服务端

第一个例子:请求服务端页面
1) 被请求页 Ajax_GetUserName.aspx

    html代码仅留页面声明,其余全部清楚:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax_GetUserName.aspx.cs" Inherits="Ajax_GetUserName" %>

    Ajax_GetUserName.aspx.cs页面写处理逻辑:
public partial class Ajax_GetUserName : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (Request.QueryString["userId"== "1"{
            Response.Write(
"guozhijian");
        }

        
else {
            Response.Write(
string.Empty);
        }

    }

}

2) 客户端请求

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

<!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>Untitled Page</title>
    
<script type="text/javascript">
        function btnGetNameClickHandler() 
{
            var req 
= new Sys.Net.WebRequest();
            req.set_url(
"Ajax_GetUserName.aspx?userId=1");
            req.add_completed(requestCompleted);
            req.invoke();
        }

        function requestCompleted(executor, eventArgs) 
{
            
if(executor.get_statusCode() == 200{
                alert(executor.get_responseData());
            }

        }

    
</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<asp:ScriptManager ID="smgr" runat="server"></asp:ScriptManager>
    
<div>
        
<input type="button" id="btnGetName" onclick="btnGetNameClickHandler()" value="get name" />
    
</div>
    
</form>
</body>
</html>

第二个例子:请求XML文档
1)新建UserInfos.xml

<?xml version="1.0" encoding="utf-8" ?>
<userInfos>
  
<userInfo>
    
<userId>1</userId>
    
<userName>guozhijian</userName>
  
</userInfo>
  
<userInfo>
    
<userId>2</userId>
    
<userName>zhenglanzhen</userName>
  
</userInfo>
</userInfos>

2)客户端请求

function btnGetXmlClickHandler() {
            var req 
= new Sys.Net.WebRequest();
            req.set_url(
"UserInfos.xml");
            req.add_completed(getXmlCompleted);
            req.invoke();    
        }

        function getXmlCompleted(executor, eventArgs) 
{
            
if(executor.get_statusCode() == 200{
                alert(executor.get_xml().xml);
            }

        }
posted on 2008-02-17 19:19  Tristan(GuoZhijian)  阅读(622)  评论(0编辑  收藏  举报