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代码如下:
- <%@ Page Language="C#" AutoEventWireup="true"
- CodeBehind="WebRequestDemo.aspx.cs"
- Inherits="AspNetAjaxDemo.WebRequestDeme" %>
- <!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>WebRequest Demo</title>
- <script language="javascript" type="text/javascript">
- // <!CDATA[
- function btnHello_onclick() {
- var req,name;
- name = $get("txtName").value;
- req = new Sys.Net.WebRequest();
- req.add_completed(OnSuccess);
- req.set_httpVerb("POST");
- req.set_url("AjaxResponseHandler.ashx");
- req.set_body("name="+name);
- /*
- //or GET
- req.set_httpVerb("GET");
- req.set_url("AjaxResponseHandler.ashx?name="+name);
- // no body
- */
- req.invoke();
- }
- function OnSuccess(executor, context){
- if(executor.get_responseAvailable())
- {
- alert(executor.get_responseData());
- }
- }
- // ]]>
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:ScriptManager ID="ScriptManagerDemo" runat="server">
- </asp:ScriptManager>
- </div>
- </form>
- <p>
- name:<input id="txtName" type="text" />
- <input id="btnHello" type="button"
- value="Hello" onclick="return btnHello_onclick()" /></p>
- </body>
- </html>
- namespace AspNetAjaxDemo
- {
- /// <summary>
- /// Ajax Response Handler
- /// </summary>
- [WebService(Namespace = "http://tempuri.org/")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- public class AjaxResponseHandler : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- String name;
- context.Response.ContentType = "text/plain";
- name = context.Request["name"];
- context.Response.Write(String.Format("Hello {0}", name));
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- }
asp.net ajax1.0基础回顾(二):经典模式相关推荐
- asp.net ajax1.0基础回顾(七):综合应用
本文将通过学生信息管理来介绍asp.net ajax的综合应用实例,包括"浏览"."查询"."添加"和"多选删除"功能, ...
- asp.net ajax1.0基础回顾(六):调用ASPX页面方法
在aspx页面中,可能通过asp.net ajax调用其页面方法,具体设置如下. 1.服务器端代码(页面对象代码): using System.Web; using System.Web.Servic ...
- asp.net ajax1.0基础回顾(五):调用ASMX(WebService)
通过asp.net ajax来调用ASMX时,只需要将ASMX地址在ScriptManager上注册一下,具体如下: 1.创建ASMX,给WebService手动添加ScriptService属性,或 ...
- asp.net ajax1.0基础回顾(三):UpdatePanel的基本用法
在asp.net ajax中,UpdatePanel控件可以让大部分服务器端控件拥有AJAX能力,只需要把服务端拽到UpdatePanel中或在UpdatePanel上注册一下即可,下面通过示例来说明 ...
- ASP.NET AJAX1.0尝鲜试用:Web Service调用
系统环境:Windows Server 2003 + IIS6 开发环境:Visual Web Developer 2005速成版 + ASP.NET AJAX 1.0 使用目的:无刷新调用服务器端的 ...
- WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用
从本篇开始,将正式讲解WF4.0,本文主要涉及如下内容:Activity介绍, WF4.0 中工作流的结构,通过WriteLine演示InArgument<T>参数的使用 目录 1 ...
- linux系统基础回顾(二)
目录 一.回顾静态库和共享库的制作和使用 二.makefile 1.makefile的基本规则 2.makefile的工作原理 (1)基本原则 (2)总结 3.makefile中的变量 ...
- WF4.0 基础篇 (二十八) WF调用PowerShell
PowerShell 提供了命令行管理系统的功能,但通常情况下,操作人员要完成某种业务需要多组PowerShell 命令,这样会很烦琐,错误率也比效高.操作人员可以编写powerShell脚本来组织命 ...
- WF4.0 基础篇 (二十九) WorkflowInspectionServices
本文例子下载: http://files.cnblogs.com/foundation/WorkflowInspectionServicesSample.rar WorkflowInspectionS ...
最新文章
- Linux之压缩和解压缩命令
- 微信小程序-封装http请求(ajax)
- 机器人学习--Robotics 4:Perception(宾夕法尼亚大学COURSERA课程)
- 有初学的同学问你为什么Java的main方法必须是public static void?请告诉ta!
- opengl绘制长方体线框_OpenGL绘制长方体
- Linux下nginx安装与配置
- 【C++ Primer | 09】容器适配器
- (48)Xilinx Adder IP核配置(九)(第10天)
- 诊断域帐号被锁定的原因
- Halcon内参外参畸变矫正
- 【模型压缩】Only Train Once:微软、浙大等研究者提出剪枝框架OTO,无需微调即可获得轻量级架构...
- 【渝粤教育】国家开放大学2018年秋季 0365-21T电子商务概论 参考试题
- c语言中 cos函数图像,cos图像(cos函数的图像)
- python extract_convert.py对应代码解读抽取式提取+生成式提取摘要代码解读------摘要代码解读1
- 一份完整App运营推广计划方案
- 【教程】如何导入批量加海外号码到手机通讯录加whatsApp和line
- 自适应移动端网页显示
- OpenCV学完基础知识不知道做什么?!我不相信这是真的
- 英文内容如何进行翻译
- 60个优秀的免费3D模型下载网站
热门文章
- QT5.14.2 官方例子 - Qt Widgets 7: Group Box(组合框)
- 数据结构特点---栈(Stack)
- 东芝三星正式停产光驱:市场只剩两家
- word计算机基础考试题及答案,计算机基础习题及答案题库(期末考试)-word资料(精).doc...
- [光明日报]青年学生怎样把握成功机遇 --中国科学院院士 朱清时
- 世界杯开幕战-德国战车VS哥队
- html5通用兄第选择器,css 通用兄弟选择器( ~ )
- 一文读懂如何证明充要条件
- sql教程学习(一)
- SQL语句的书写顺序和解析顺序