Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层
生活随笔
收集整理的這篇文章主要介紹了
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);
????????????}
????????}
本文通過兩個簡單的例子,了解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);
????????????}
????????}
轉載于:https://www.cnblogs.com/guozhijian/archive/2008/02/17/1071469.html
總結
以上是生活随笔為你收集整理的Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转 .NET 2.0 SqlDepend
- 下一篇: WinAPI: waveInMessag