ASP.NET Ajax学习笔记(一)异步通信层

来源:互联网 发布:php爬虫入门 编辑:程序博客网 时间:2024/05/15 06:44

异步通信层使用Sys.Net.WebRequest 类提供用于发出 Web 请求的客户端脚本功能


var wRequest = new Sys.Net.WebRequest();
构造函数

Name

说明

Sys.Net.WebRequest webRequest 构造函数

初始化 WebRequest 类的新实例。

成员

Name

说明

Sys.Net.WebRequest add_completed 方法

注册与 Web 请求实例关联的事件处理程序。

Sys.Net.WebRequest completed 方法

引发关联 Sys.Net.WebRequest 实例的完成事件。

Sys.Net.WebRequest.getResolvedUrl 方法

获取 Web 请求实例的解析后的 URL。

Sys.Net.WebRequest invoke 方法

为 Web 请求实例发出网络调用。

Sys.Net.WebRequest remove_completed 方法

移除与 Web 请求实例关联的事件处理程序。

Sys.Net.WebRequest body 属性

获取或设置 Web 请求的 HTTP 正文。

Sys.Net.WebRequest executor 属性

获取或设置关联 Web 请求实例的执行器。

Sys.Net.WebRequest headers 属性

获取 Web 请求的 HTTP 标头。

Sys.Net.WebRequest httpVerb 属性

获取或设置用于发出 Web 请求的 Web 请求 HTTP 谓词。

Sys.Net.WebRequest timeout 属性

获取或设置 Web 请求实例的超时值。

Sys.Net.WebRequest url 属性

获取或设置 Web 请求实例的 URL。

Sys.Net.WebRequest userContext 属性

获取或设置与 Web 请求实例关联的用户上下文。


示例
Employee 类
using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>///Employee 的摘要说明/// </summary>public class Employee{    private string _FirstName;    private string _LastName;    private string _Title;public Employee(){////TODO: 在此处添加构造函数逻辑//}    public Employee(string firstName, string lastName, string title)    {        this._FirstName = firstName;        this._LastName = lastName;        this._Title = title;    }    public string FirstName    {        get        {            return this._FirstName;        }    }    public string LastName    {        get         {            return this._LastName;        }    }    public string Title    {        get        {            return this._Title;        }    }}

AsyncComLayer.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AsyncComLayer.aspx.cs" Inherits="AsyncComLayer" %><!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></title></head><body>    <form id="form1" runat="server">    <asp:ScriptManager ID="ScriptManager1" runat="server">    </asp:ScriptManager>    <script type="text/javascript">        function showEmployee(firstName, lastName, title) {            var request = new Sys.Net.WebRequest(); //初始化WebRequest类的新实例            request.set_url("GetEmployee.ashx");    //设置Web请求实例的URL            request.set_httpVerb("post");           //设置用于发出Web请求的Web请求HTTP谓词            request.add_completed(onGetEmployeeComplete);//注册与Web请求实例关联的事件处理程序            var requestBody = String.format("firstName={0}&lastName{1}&title={2}", encodeURI(firstName), encodeURI(lastName), encodeURI(title));            request.set_body(requestBody);          //设置Web请求的HTTP正文            request.invoke();                       //为Web请求实例发出网络调用        }        function onGetEmployeeComplete(response) {            if (response.get_responseAvailable()) {                var employee = response.get_object();                alert(String.format("firstName={0},lastName={1},title={2}",                employee.FirstName,                employee.LastName,                employee.Title));            }        }    </script>    <div>        <input type="button" value="Bill Gates" onclick="showEmployee('Bill','Gates','Chair man')" />        <input type="button" value="Steve Ballmer" onclick="showEmployee('Steve','Ballmer','CEO')" />    </div>    </form></body></html>


0 0
原创粉丝点击