新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)

【思考模型框架】MECE原则,确保分析时,考虑到的所有因素,既不重叠又无遗漏 MECE原则,是Mutually Exclusive and Collectively Exhaustive的缩写,中文译为“相互独立、完全穷尽”。MECE原则,这是一种逻辑思维和组织信息的方法,旨在确保分析时既没有遗漏也没有重复。MECE原则,相互独立、完全穷尽(Mutually Exclusive,Collectively Exhaustive)的原则MECE原则,确保分析时考虑到的所有因素既不重叠又无遗漏。 阅读详情
[索引页]
[源码下载]


新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)


作者: webabcd


介绍
学习一下Sys.Net命名空间下与web请求相关的类,WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor


关键
1、Sys.Net.WebRequestManager Class
    ·add_completedRequest(handler); - 添加请求完成后的处理器
    ·remove_completedRequest(handler); - 移除请求完成后的处理器
    ·add_invokingRequest(handler); - 添加处理调用请求的处理器
    ·remove_invokingRequest(handler); - 移除处理调用请求的处理器
    ·defaultTimeout - 默认超时时间

2、Sys.Net.WebRequest Class
    ·add_completed(handler); - 添加请求完成后的处理器
    ·remove_completed(handler); - 移除请求完成后的处理器
    ·invoke(); - 执行请求
    ·getResolvedUrl(); - 转换为可用url
    ·body - HTTP的Body内容
    ·executor - 与当前WebRequest对象相关的executor
    ·headers - HTTP的头信息
    ·httpVerb - HTTP请求方式“GET”或“POST”
    ·timeout - 请求超时时间
    ·url - 请求的url
    ·userContext - 用户上下文

3、Sys.Net.WebRequestExecutor Class
    ·abort(); - 终止请求
    ·executeRequest(); - 执行请求
    ·getAllResponseHeaders(); - 获得全部头信息
    ·getResponseHeader(key); - 获得指定头信息
    ·aborted - 请求是否被终止
    ·responseAvailable - 请求是否成功完成
    ·responseData - 响应当前请求的Body文本
    ·started - 是否已经开始处理请求
    ·statusCode - 状态代码
    ·statusText - 状态信息
    ·timedOut - 请求是否超时
    ·xml - 响应当前请求的XMLDOM对象
    ·webRequest - 获得与当前executor相关的WebRequest对象

4、Sys.Net.XMLHttpExecutor Class
    ·abort(); - 终止请求
    ·executeRequest(); - 执行请求
    ·getAllResponseHeaders(); - 获得全部头信息
    ·getResponseHeader(key); - 获得指定头信息
    ·aborted - 请求是否被终止
    ·responseAvailable - 请求是否成功完成
    ·responseData - 响应当前请求的Body文本
    ·started - 是否已经开始处理请求
    ·statusCode - 状态代码
    ·statusText - 状态信息
    ·timedOut - 请求是否超时
    ·xml - 响应当前请求的XMLDOM对象


示例
GetTarget.xml
<? xml version="1.0" encoding="utf-8"  ?>
< root >
  
< employee >
    
< name > webabcd </ name >
    
< age > 27 </ age >
  
</ employee >
  
< employee >
    
< name > ge </ name >
    
< age > 26 </ age >
  
</ employee >
</ root >

PostTarget.aspx
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="PostTarget.aspx.cs" Inherits="ClientScripting_SysNet_PostTarget"  %>

<! 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 > Post Target测试页 </ title >

    
< script  language ="C#"  runat ="server" >
        
        protected 
void Page_Load(object sender, EventArgs e)
        
{
            Context.Response.Cache.SetNoStore();

            System.Threading.Thread.Sleep(
new Random().Next(0, 1000));

            
if (HttpContext.Current.Request.Form["Message"] != null)
            
{
                Label1.Text 
= HttpContext.Current.Request.Form["Message"];
            }

        }

        
    
</ script >

</ head >
< body >
    
< form  id ="form1"  runat ="server" >
        
< div >
            
< h1 >
                
<% =  DateTime.Now.ToString()  %>
            
</ h1 >
            
< p >
                
< asp:TextBox  ID ="Label1"  Text ="test"  runat ="server"   />
            
</ p >
        
</ div >
    
</ form >
</ body >
</ html >

WebRequestAndWebRequestExecutor.js
var  getPage;
var  postPage;
var  displayElement;

function  pageLoad()
{
    getPage 
= "GetTarget.xml";
    postPage 
= "PostTarget.aspx";
    displayElement 
= $get("resultId");
}


function  GetWebRequest()
{
    
// 创建WebRequest对象
    var wRequest =  new Sys.Net.WebRequest();
    
    
// url - 请求的url 
    wRequest.set_url(getPage);
    
    
// getResolvedUrl() - 转换为可用url
    alert(wRequest.getResolvedUrl());
    
    
// httpVerb - HTTP请求方式“GET”或“POST”
    wRequest.set_httpVerb("GET");
          
    
// userContext - 用户上下文
    wRequest.set_userContext("webabcd");
            
    wRequest.add_completed(OnWebRequestCompleted);
    
    displayElement.innerHTML 
= "";
               
    
// invoke() - 执行请求
    wRequest.invoke();
}


function  PostWebRequest()
{
    
// 创建WebRequest对象
    var wRequest =  new Sys.Net.WebRequest();
    
    
// url - 请求的url 
    wRequest.set_url(postPage);
    
    
// timeout - 超时时间
    wRequest.set_timeout(500);
    
    
var body = "Message=信息信息信息信息信息信息信息信息信息信息信息信息信息信息信息"
    
// body - HTTP的Body内容
    wRequest.set_body(body);

    
// headers - HTTP的头信息
    wRequest.get_headers()["Content-Length"] = body.length;
            
    wRequest.add_completed(OnWebRequestCompleted);

    displayElement.innerHTML 
= "";
               
    
// invoke() - 执行请求
    wRequest.invoke();  
}


//  executor - WebRequestExecutor对象
function  OnWebRequestCompleted(executor, e) 
{        
    
// responseAvailable - 请求是否成功完成
    if(executor.get_responseAvailable()) 
    
{
        displayElement.innerHTML 
= "";
   
        
// 显示Web Request的用户上下文
        // webRequest - 获得与当前executor相关的WebRequest对象
        // userContext - 用户上下文
        displayElement.innerHTML += "User Context:" + executor.get_webRequest().get_userContext();
        displayElement.innerHTML 
+= "<br /><br />";
   
        
// 显示Web Request的状态      
        // statusCode - 状态代码
        // statusText - 状态信息
        displayElement.innerHTML += "Status Code:" + executor.get_statusCode();
        displayElement.innerHTML 
+= "Status Text:" + executor.get_statusText();
        displayElement.innerHTML 
+= "<br /><br />";
  
        
// 显示Web Request的所有Header          
        // getAllResponseHeaders() - 获得全部头信息
        displayElement.innerHTML += "Headers:" + executor.getAllResponseHeaders();
        displayElement.innerHTML 
+= "<br /><br />";
        
        
// 显示Web Request的指定Header
        // getResponseHeader() - 获得指定头信息
        displayElement.innerHTML += executor.getResponseHeader("Content-Type");
        displayElement.innerHTML 
+= "<br /><br />";
        
        
// 显示Web Request的Body                 
        displayElement.innerHTML += "Body:";
        
if (document.all)
        
{
            
// responseData - 响应当前请求的Body文本
            displayElement.innerText += "/r/n" + executor.get_responseData();
        }

        
else
        
{
            
// Firefox
            displayElement.textContent += "/r/n" + executor.get_responseData();
        }

        displayElement.innerHTML 
+= "<br /><br />";
        
        
// 显示XML数据
        displayElement.innerHTML += "XML:";
        
if (document.all)
        
{
            
// xml - 响应当前请求的XMLDOM对象
            displayElement.innerText += "/r/n" + executor.get_xml().xml;
        }

        
else
        
{
            
// Firefox
            displayElement.textContent += "/r/n" + "首节点:" + executor.get_xml().documentElement.nodeName;
        }

    }

    
else
    
{
        
// timedOut - 请求是否超时
        if (executor.get_timedOut())
        
{
            alert(
"超时");
        }

        
// aborted - 请求是否被终止
        else if (executor.get_aborted())
        
{
            alert(
"请求被终止");
        }

    }

}


//  通知ScriptManager这段脚本已经加载完毕  
if  ( typeof (Sys)  !==   " undefined " ) Sys.Application.notifyScriptLoaded();

WebRequestAndWebRequestExecutor.aspx
<% @ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="WebRequestAndWebRequestExecutor.aspx.cs"
    Inherits
="ClientScripting_SysNet_WebRequestAndWebRequestExecutor" Title="WebRequest和WebRequestExecutor" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< asp:ScriptManagerProxy  ID ="ScriptManagerProxy1"  runat ="Server" >
        
< Scripts >
            
<asp:ScriptReference Path="~/ClientScripting/SysNet/WebRequestAndWebRequestExecutor.js" />
        
</ Scripts >
    
</ asp:ScriptManagerProxy >
    
< p >
        
< input  type ="button"  id ="btnGetWebRequest"  onclick ="GetWebRequest()"  value ="GetWebRequest"   />
    
</ p >
    
< p >
        
< input  type ="button"  id ="btnPostWebRequest"  onclick ="PostWebRequest()"  value ="PostWebRequest"   />
    
</ p >
    
< hr  />
    
< div  id ="resultId"  style ="background-color: Aqua;" >
    
</ div >
</ asp:Content >

运行结果
1、单击“GetWebRequest”按钮
弹出框,信息:当前的URL
显示与“GetTarget.xml”相关的结果

2、单击“PostWebRequest”按钮
可能提示超时,也可能显示与“PostTarget.aspx”相关的结果


WebRequestManagerAndXMLHttpExecutor.js
var  displayElement;

function  pageLoad()
{
    displayElement 
= $get("ResultId");
    
    
// defaultTimeout - 默认超时时间
    Sys.Net.WebRequestManager.set_defaultTimeout(500);
    
    Sys.Net.WebRequestManager.add_completedRequest(OnWebRequestCompleted);
        
    Sys.Net.WebRequestManager.add_invokingRequest
    (
        
function (executor, e)
        
{
            alert('调用请求前');
        }

    );
}


function  GetData()
{
    
// 创建WebRequest对象
    wRequest =  new Sys.Net.WebRequest();

    
// url - 请求的url 
    wRequest.set_url("PostTarget.aspx");
      
    
if (document.all)
    
{
        displayElement.innerText 
= "";
    }

    
else
    
{
        
// Firefox 
        displayElement.textContent = "";
    }

   
    
// invoke() - 执行请求
    wRequest.invoke();
    
    
if (new Date().getSeconds() % 2 == 0)
    
{
        
// executor - 与当前WebRequest对象相关的executor
        var executor = wRequest.get_executor();
     
        
// abort() - 终止请求
        executor.abort();
        
        
// aborted - 与当前executor相关的请求是否被终止
        alert('请求是否被终止:' + executor.get_aborted());
    }

}


//  executor - WebRequestExecutor对象
function  OnWebRequestCompleted(executor, e) 
{        
    
// responseAvailable - 请求是否成功完成
    if(executor.get_responseAvailable()) 
    
{
         
// 显示Web Request的Body                 
        displayElement.innerHTML += "Body:";
        
if (document.all)
        
{
            
// responseData - 响应当前请求的Body文本
            displayElement.innerText += "/r/n" + executor.get_responseData();
        }

        
else
        
{
            
// Firefox
            displayElement.textContent += "/r/n" + executor.get_responseData();
        }

        displayElement.innerHTML 
+= "<br /><br />";
    }

    
else
    
{
        
// timedOut - 请求是否超时
        if (executor.get_timedOut())
        
{
            alert(
"超时");
        }

        
// aborted - 请求是否被终止
        else if (executor.get_aborted())
        
{
            alert(
"请求被终止");
        }

    }

}


function  ExecuteRequest()
{    
    
// 创建WebRequest对象
    var wRequest =  new Sys.Net.WebRequest();
    
    
// url - 请求的url 
    wRequest.set_url("GetTarget.xml");
    
    
// 创建XMLHttpExecutor对象
    var executor = new Sys.Net.XMLHttpExecutor();
   
    
// executor - 与当前WebRequest对象相关的executor
    wRequest.set_executor(executor); 
    
    
// executeRequest() - 执行请求
    executor.executeRequest();

    
// executor - 与当前WebRequest对象相关的executor
    var executor =  wRequest.get_executor();
    
    
// started - 是否已经开始处理请求
    alert("executor是否已经开始处理请求:" + executor.get_started())
}


//  通知ScriptManager这段脚本已经加载完毕  
if  ( typeof (Sys)  !==   " undefined " ) Sys.Application.notifyScriptLoaded();

WebRequestManagerAndXMLHttpExecutor.aspx
<% @ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="WebRequestManagerAndXMLHttpExecutor.aspx.cs"
    Inherits
="ClientScripting_SysNet_WebRequestManagerAndXMLHttpExecutor" Title="WebRequestManager和XMLHttpExecutor" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< asp:ScriptManagerProxy  ID ="ScriptManagerProxy1"  runat ="Server" >
        
< scripts >
            
<asp:ScriptReference Path="~/ClientScripting/SysNet/WebRequestManagerAndXMLHttpExecutor.js" />
        
</ scripts >
    
</ asp:ScriptManagerProxy >
    
< p >
        
< input  type ="button"  id ="btnGetData"  onclick ="GetData()"  value ="GetData"   />
    
</ p >
    
< p >
        
< input  type ="button"  id ="btnExecuteRequest"  onclick ="ExecuteRequest()"  value ="ExecuteRequest"   />
    
</ p >
    
< hr  />
    
< div  id ="resultId"  style ="background-color: Aqua;" >
    
</ div >
</ asp:Content >

运行结果
1、单击“GetData”按钮
可能提示超时,也可能提示终止,也可能显示与“PostTarget.aspx”相关的结果

2、单击“ExecuteRequest”按钮
提示executor已经开始处理请求,显示与“GetTarget.xml”相关的结果


OK
[源码下载]
Loki 分布式日志中心服务 分布式日志中心 Loki + Promtail + Grafana 阅读详情

相关推荐

OpenWrt南京电信PPPoE IPv6配置:从零搭建稳定双栈网络

本文详细指导如何在南京电信PPPoE宽带环境下,为OpenWrt路由器配置稳定的IPv6双栈网络。核心在于正确设置WAN6接口为DHCPv6客户端,并请求/60前缀,同时配置LAN口分发地址并放行防火墙关键流量,确保内网设备获得原生IPv6连接。

water的专栏 1339

深入Atlas 系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期...

  ASP.NET AJAX的许多功能会要求异步地访问服务器端,例如访问Web Services,Authentication/Profile Services(事实上和访问Web Services是相同的机制)和Partial Rendering。在ASP.NET AJAX中,所有的这些访问都是通过一个网络访问的基础结构来完成的,无一例外。  我们话不...

weixin_34372728的博客 233

eNSP-交换机VLAN配置

VLAN

乌托托的博客 8804

系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)

[源码下载]系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor) 作者:webabcd介绍学习一下Sys.Net命名空间下与web请求相关的类,WebRequestManager、WebRequest、WebRequestExe

飘逸软件技术信息服务网 748

最新版谷歌浏览器Axure插件(免翻墙)

本文介绍了在Chrome浏览器无法直接打开Axure导出HTML文件的解决方法。由于国内网络限制无法访问Chrome商店,需手动下载安装AxureRP扩展插件(提供百度网盘下载链接)。安装步骤包括:1)启用开发者模式;2)拖拽CRX文件或加载解压文件夹;3)勾选"允许访问文件网址"。同时还提示若浏览器版本过低可能无法正常运行,并给出了浏览器升级方法。该教程详细说明了从插件安装到浏览器升级的完整解决方案。

OldCat先生 2973

机械臂TCP标定实战:从四点法到六点法的精度跃迁

本文详细解析机械臂TCP标定技术,从基础的四点法到高精度的六点法实现精度跃迁。通过工具坐标系与基坐标系的转换原理,结合实战案例展示六点法如何将装配合格率提升至99.5%,并分享环境控制、操作技巧等提升标定精度的关键要素。

weixin_29038345的博客 894

新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager)

[索引页][×××] 新瓶旧酒ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)作者:webabcd介绍学习一下Sys.Net命名空间下与web请求相关的类,WebRequestManager、WebRequest、We...

weixin_34409822的博客 89

DA14531-外设驱动篇-UART收发通信应用

宏定义注解CFG_PRINTF用户开启串口串口打印宏设置波特率选择115200。

hejinwu1314的博客 729

深入Atlas系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期...

  ASP.NET AJAX的许多功能会要求异步地访问服务器端,例如访问Web Services,Authentication/Profile Services(事实上和访问Web Services是相同的机制)和Partial Rendering。在ASP.NET AJAX中,所有的这些访问...

chuifuhuo6864的博客 153

STM32 之十三 看门狗(WDG)及低功耗下的处理

  最近在做低功耗项目时,遇到了看门狗不好处理的问题。在 ST 的各系列 MCU 中,看门狗应该算是使用配置起来最简单的一个外设了。我们通常仅需要配置很少的配置项,但是,一旦要配合低功耗模式则配置就比较麻烦了。MCU 中有两只狗,一只叫 Independent watchdog (IWDG);另一只叫 System window watchdog (WWDG)。下面是这两只狗的简单介绍! IWDG   IWDG 基本就等同于我们独立使用的看门狗芯片。最适合那些要求看门狗作为一个完全独立的进程在主应用程序之外

技术干货 7851

C#与欧姆龙PLC 通信——Fins Tcp协议

该调试助手专门为了帮助大家学习以及测试Fins-Tcp通信,下面进行详细介绍。

qq_34059233的博客 2081

系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpE...

     摘要: 学习一下Sys.Net命名空间下与web请求相关的类,WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor  阅读全文webabcd 2007-06-25 08:55 发表评论

yanhuanwang 127

华为昇腾(Ascend)开发考试原题目解析 (2024) (题库一)——HCIP-AI-Ascend Developer——第一部分

给出一段代码如下,以下哪个选项描述错误?...A.中的语句由 MindSpore 接管,有语法限制B. 算子在中定义,并用来建立网络C.__init__()中的语句由 Python 解析执行D. 网络定义必须继承基类nn.Cell正确答案: B__init__()用于定义算子和网络层。所有需要用到的层(如卷积层、全连接层等)都应该在这里进行实例化。这部分代码由Python解释器执行。用于构建前向计算图。它调用在__init__()中定义好的算子和层来描述数据的流向。

qq_38334677的博客 1053

ASP.NET AJAX客户端脚本编程类介绍

1、Sys.Net.WebRequestManager Class·add_completedRequest(handler); - 添加请求完成后的处理器·remove_completedRequest(handler); - 移除请求完成后的处理器·add_invokingRequest(handler); - 添加处理调用请求的处理器·remove_invokingRequest(han...

ruilinruirui 69

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精进不休 .NET 4.0 (3) - asp.net 4.0 新特性之动态数据(Dynamic Data)增强, AJAX增强; IDE之Visual Studio 2010增强

[源码下载]精进不休 .NET 4.0 (3) - asp.net 4.0 新特性之动态数据(Dynamic Data)增强, AJAX增强; IDE之Visual Studio 2010增强作者:webabcd介绍asp.net 4.0 的新增功能 EnableDynamicData - 启用 Dynamic Data 的功能  D

webabcd的专栏 1347

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[翻译]开发一个自己的HTML在线编辑器(一)

原文地址:http://aspalliance.com/1092_Rich_Text_Editor_Part_I[原文源码下载]开发一个自己的HTML在线编辑器(一)摘要在本文中,Haissam Abdul Malak将给大家详细介绍如何使用javascript开发一个HTML在线编辑器,它可以应用于web应用程序中,特别是论坛,社区和博客。这个编辑器支持基于XHTML创建文本的功能。原文

webabcd的专栏 904

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[翻译]开发一个自己的HTML在线编辑器(二)

原文地址:http://aspalliance.com/1156_Rich_Text_Editor__Part_II[原文源码下载][翻译]开发一个自己的HTML在线编辑器(二)原文发布日期:2007.02.27作者:Haissam Abdul Malak翻译:webabcd文章内容介绍javascrit文件后置代码结论介绍在我们一起研究了如何开发一个HTML在线编辑器后(第一部分在这里

webabcd的专栏 788

新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod) 作者:webabcd介绍使用ASP.NET AJAX调用WebService(简单类

webabcd的专栏 773

[翻译]ASP.NET AJAX之内部揭秘

原文地址:http://www.codeproject.com/KB/ajax/aspnetajaxtips.aspx[原文源码下载][翻译]ASP.NET AJAX之内部揭秘原文发布日期:2006.12.22作者:About Omar Al Zabir翻译:webabcd审校:Tony Qu 介绍微软最近发布了ASP.NET AJAX的Be

webabcd的专栏 754

[翻译]ASP.NET AJAX调用Web Service

原文地址:http://www.developer.com/net/asp/article.php/3657826[原文源码下载]ASP.NET AJAX调用Web Service原文发布日期:2007.02.08作者:Bipin Joshi翻译:webabcd介绍尽管AJAX是种客户端技术,但实际上的开发过程,它经常要调用一个服务器端的过程。通常,网站上的数据是存放在一个关系型数据库中,

webabcd的专栏 713

新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer)作者:webabcd介绍ASP.NET AJAX就5个控件,分别是ScriptManager、ScriptManagerProxy

webabcd的专栏 616

新瓶旧酒ASP.NET AJAX(6) - 客户端脚本编程(Sys.WebForms命名空间下的类Sys.Serialization命名空间下的类)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(6) - 客户端脚本编程(Sys.WebForms命名空间下的类Sys.Serialization命名空间下的类) 作者:webabcd介绍Sys.WebForms命名空间下的类都是与局部刷新相关的类。PageRequestManager类,其中有5个事件:initializeRequest事件、b

webabcd的专栏 614

新瓶旧酒ASP.NET AJAX(7) - 客户端脚本编程(Sys命名空间下的类)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(7) - 客户端脚本编程(Sys命名空间下的类) 作者:webabcd介绍Sys命名空间是Microsoft AJAX Library的根命名空间。本文主要学习一下其中的Application类、ApplicationLoadEventArgs类、CultureInfo类和StringBuilder

webabcd的专栏 602

新瓶旧酒ASP.NET AJAX(4) - 客户端脚本编程(JavaScript基本类型扩展 - JavaScript Base Type Extensions)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(4) - 客户端脚本编程(JavaScript基本类型扩展 - JavaScript Base Type Extensions)作者:webabcd介绍Microsoft AJAX Library中的JavaScript基本类型扩展是基于ECMAScript (JavaScript)对象的。关于Ja

webabcd的专栏 549

新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)

[索引页][源码下载]新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)作者:webabcd介绍Microsoft AJAX Library提供了对JavaScript的扩展和对面向对象的支持,并且与.NET框架非常相似。我们来看一下如何实现命名空间、类、成员、接口、继承和枚举。关键1、Sy

webabcd的专栏 545
上一篇: [翻译]使用C#创建SQL Server的存储过程(Visual Studio 2005 + SQL Server 2005)
下一篇: [翻译]在SQL Server中使用CLR调用.NET方法
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值