Microsoft Asp.Net Ajax架構入門(12) 瞭解非同步通訊層

來源:互聯網
上載者:User
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);
            }
        }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.