asp.net ajax1.0基础回顾(二):经典模式

简介:

asp.net ajax提供经典的异步请求/响应模式的客户端JS对象Sys.Net.WebRequest,本文将只对Sys.Net.WebRequest的进行介绍。若想深入了解相关的其它JS对象,可以去翻阅几千行的MicrosoftAjax.debug.js文件。

实例化
var req = new Sys.Net.WebRequest();

成员:

成员名称

描述

add_completed(evt)

注册一个回调事件

remove_completed(evt)

删除一个回调事件

completed(args)

请求完成事件

invoke()

开始请求

getResolvedUrl()

获取完整请求地址

get_body()

获取请求主体

set_body(args)

设置请求主体

get_executor()

获取执行器,默认为Sys.Net.XmlHttpExecutor()

set_executor(exe)

设置执行器

get_headers()

获取请求headers

get_httpVerb()

获取请求方式

set_httpVerb(verb)

设置请示方式

get_timeout()

获取超时时间

set_timeout(val)

设置超时时间

get_url ()

获取请求地址

get_url(url)

设置请求地址

get_userContext()

获取用户上下文,或称调用标记。

set_userContext(context)

设置用户上下文

 

简单示例

通过aspx和ashx来进行说明简单用法,具体如下:

1.创建Web应用程序项目AspNetAjaxDemo,新建WebRequestDemo.aspx前端请求页面和AjaxResponseHandler.ashx服务器端响应Handler,具体如下图所示:

 

2.WebRequestDemo.aspx中HTML代码如下:

 
  1. <%@ Page Language="C#" AutoEventWireup="true" 
  2. CodeBehind="WebRequestDemo.aspx.cs" 
  3. Inherits="AspNetAjaxDemo.WebRequestDeme" %> 
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
  5. Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  6. <html xmlns="http://www.w3.org/1999/xhtml" > 
  7. <head runat="server"> 
  8.     <title>WebRequest Demo</title> 
  9. <script language="javascript" type="text/javascript"> 
  10. // <!CDATA[ 
  11.  
  12. function btnHello_onclick() { 
  13.     var req,name; 
  14.  
  15.     name = $get("txtName").value; 
  16.     req = new Sys.Net.WebRequest(); 
  17.     req.add_completed(OnSuccess); 
  18.  
  19.     req.set_httpVerb("POST"); 
  20.     req.set_url("AjaxResponseHandler.ashx"); 
  21.     req.set_body("name="+name); 
  22.     /* 
  23.     //or GET 
  24.     req.set_httpVerb("GET"); 
  25.     req.set_url("AjaxResponseHandler.ashx?name="+name); 
  26.     // no body 
  27.     */ 
  28.     req.invoke(); 
  29.  
  30. function OnSuccess(executor, context){ 
  31.     if(executor.get_responseAvailable()) 
  32.     { 
  33.         alert(executor.get_responseData()); 
  34.     } 
  35.  
  36. // ]]> 
  37. </script> 
  38. </head> 
  39. <body> 
  40.     <form id="form1" runat="server"> 
  41.     <div> 
  42.         <asp:ScriptManager ID="ScriptManagerDemo" runat="server"> 
  43.         </asp:ScriptManager> 
  44.     </div> 
  45.     </form> 
  46.     <p> 
  47.         name:<input id="txtName" type="text" />
  48. <input id="btnHello" type="button"  
  49.             value="Hello" onclick="return btnHello_onclick()" /></p> 
  50. </body> 
  51. </html> 
 3.AjaxResponseHandler.ashx代码如下:
 
  1. namespace AspNetAjaxDemo 
  2.     /// <summary> 
  3.     /// Ajax Response Handler 
  4.     /// </summary> 
  5.     [WebService(Namespace = "http://tempuri.org/")] 
  6.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
  7.     public class AjaxResponseHandler : IHttpHandler 
  8.     { 
  9.         public void ProcessRequest(HttpContext context) 
  10.         { 
  11.             String name; 
  12.             context.Response.ContentType = "text/plain"
  13.             name = context.Request["name"]; 
  14.             context.Response.Write(String.Format("Hello {0}", name)); 
  15.         } 
  16.  
  17.         public bool IsReusable 
  18.         { 
  19.             get 
  20.             { 
  21.                 return false
  22.             } 
  23.         } 
  24.     } 
4.开始测试。
 
 
 
 参考页面:
1.[Sys.Net.WebRequest class]http://www.asp.net/ajaxlibrary/Reference.Sys-Net-WebRequest-Class.ashx


本文转自 彭金华  51CTO博客,原文链接:http://blog.51cto.com/pengjh/591505
相关文章
|
1月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
4月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
1月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
174 2
|
9月前
|
前端开发
解决.NET Core Ajax请求后台传送参数过大请求失败问题
解决.NET Core Ajax请求后台传送参数过大请求失败问题
|
10月前
|
开发框架 前端开发 JavaScript
【Asp.net】 Ajax小例子
【Asp.net】 Ajax小例子
67 0
|
11月前
|
数据挖掘 Python
4.【.netcore Configuration】理解Configuration中Section弱方式读取和Binder模式的强类型读取代码
4.【.netcore Configuration】理解Configuration中Section弱方式读取和Binder模式的强类型读取代码
85 0
|
12月前
|
开发框架 前端开发 JavaScript
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
154 0
|
缓存 前端开发 搜索推荐
二级医院检验系统源码,SaaS模式.Net Core版云LIS系统源码
云LIS系统是医院信息管理的重要组成部分之一,集申请、采样、核收、计费、检验、审核、发布、质控、查询、耗材控制等检验科工作为一体的网络管理系统。云LIS系统不仅是自动接收检验数据,打印检验报告,系统保存检验信息的工具,而且也是医生科研、诊疗的重要参考指标。
二级医院检验系统源码,SaaS模式.Net Core版云LIS系统源码
|
关系型数据库 MySQL Linux
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
144 0
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
|
网络协议 开发工具
Mac虚拟机Net模式设置
Mac虚拟机Net模式设置
135 0

相关实验场景

更多