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);
            }

        }

你可能感兴趣的:(Microsoft)