异步通信层使用Sys.Net.WebRequest 类提供用于发出 Web 请求的客户端脚本功能
var wRequest = new Sys.Net.WebRequest();
Name | 说明 |
---|---|
注册与 Web 请求实例关联的事件处理程序。 | |
引发关联 Sys.Net.WebRequest 实例的完成事件。 | |
获取 Web 请求实例的解析后的 URL。 | |
为 Web 请求实例发出网络调用。 | |
移除与 Web 请求实例关联的事件处理程序。 | |
获取或设置 Web 请求的 HTTP 正文。 | |
获取或设置关联 Web 请求实例的执行器。 | |
获取 Web 请求的 HTTP 标头。 | |
获取或设置用于发出 Web 请求的 Web 请求 HTTP 谓词。 | |
获取或设置 Web 请求实例的超时值。 | |
获取或设置 Web 请求实例的 URL。 | |
获取或设置与 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" οnclick="showEmployee('Bill','Gates','Chair man')" />
<input type="button" value="Steve Ballmer" οnclick="showEmployee('Steve','Ballmer','CEO')" />
</div>
</form>
</body>
</html>