Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/1/30 1:11:05
新瓶旧酒ASP.NET,AJAX(6),-,客户端脚本编程(Sys.WebForms命名空间下的类)_[Asp.Net教程]

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

















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


介绍
Sys.WebForms命名空间下的类都是与局部刷新相关的类。PageRequestManager类,其中有5个事件:initializeRequest事件、beginRequest事件、endRequest事件、pageLoading事件和pageLoaded事件。与这5个事件相关的还有5个事件参数类:InitializeRequestEventArgs类、BeginRequestEventArgs类、EndRequestEventArgs类、PageLoadingEventArgs类和PageLoadedEventArgs类。Sys.Serialization命名空间下只有一个类:Sys.Serialization.JavaScriptSerializer类。它用于在ECMAScript(JavaScript)对象与JSON格式数据之间进行转换。





1、PageRequestManager Class
·initializeRequest Event - 异步回发的初始化时触发
·beginRequest Event - 异步回发开始前触发
·endRequest Event - 异步回发完成后触发
·pageLoading Event - 异步回发完成后页面加载开始前触发
·pageLoaded Event - 异步回发完成后页面加载完成后触发
·Sys.WebForms.PageRequestManager.getInstance(); - 返回页面的PageRequestManager类的实例
·Sys.WebForms.PageRequestManager.getInstance().abortPostBack(); - 终止所有异步回发
·isInAsyncPostBack属性 - 是否正在异步回发过程中




2、InitializeRequestEventArgs Class
·postBackElement属性 - 产生回发事件的元素
·InitializeRequestEventArgs继承自Sys.CancelEventArgs,所以具有cancel属性 - 是否取消回发




3、BeginRequestEventArgs Class
·postBackElement属性 - 产生回发事件的元素




4、EndRequestEventArgs Class
·error属性 - Error对象
·errorHandled属性 - 异常是否已经被处理
·response属性 - Sys.Net.WebRequestExecutor对象
·dataItems属性 - 服务端注册的DataItem




5、PageLoadingEventArgs Class
·panelsUpdating属性 - 准备更新的UpdatePanel数组(div元素)
·dataItems属性 - 服务端注册的DataItem




6、PageRequestManager Class
·panelsUpdated属性 - 更新完毕的UpdatePanel数组(div元素)
·dataItems属性 - 服务端注册的DataItem




7、Sys.Serialization.JavaScriptSerializer Class
·serialize方法 - 序列化(参数:ECMAScript(JavaScript)对象;返回值:JSON字符串)
·deserialize方法 - 反序列化(参数:JSON字符串;返回值ECMAScript(JavaScript)对象:)




8、其它请查看官方文档





示例
InitializeRequest.aspx
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="InitializeRequest.aspx.cs"
Inherits="ClientScripting_SysWebForms_InitializeRequest" Title="InitializeRequest" %>












Loading




<%= DateTime.Now %>


onClick="Button1_Click" />
&nbsp;&nbsp;
onClick="Button1_Click" />













运行结果
1、单击“Button”按钮
ctl00_ContentPlaceHolder1_Button1
false




2、在Loading的过程中再次单击“Button”按钮
ctl00_ContentPlaceHolder1_Button1
true




3、单击“cancel属性测试”按钮
没有反应





BeginRequestAndEndRequest.aspx
注:在ScriptManager的OnAsyncPostBackError事件中输入代码:ScriptManager1.AsyncPostBackErrorMessage = e.Exception.Message + "(母版页的ScriptManager格式化错误信息)";
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="BeginRequestAndEndRequest.aspx.cs"
Inherits="ClientScripting_SysWebForms_BeginRequestAndEndRequest" Title="BeginRequest和EndRequest" %>












<%= DateTime.Now.ToString() %>


onClick="Button1_Click" />
&nbsp;&nbsp;
onClick="Button2_Click" />















运行结果
1、单击“触发异常”按钮
弹出框,信息:ct100_ContentPlaceHolder1_Button1
状态代码:200
出错了!错误信息:输入字符串的格式不正确。(母版页的ScriptManager格式化错误信息)




2、单击“RegisterDataItem测试”按钮
弹出框,信息:ct100_ContentPlaceHolder1_Button2
状态代码:200
注册的数据项为:webabcd





Sample.aspx
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Sample.aspx.cs"
Inherits="ClientScripting_SysSerialization_Sample" Title="Sys.Serialization Sample" %>












<%= DateTime.Now.ToString()%>


onClick="Button1_Click" />













运行结果
单击“Sys.Serialization”按钮
{"Name":"webabcd","Age":27}
webabcd 27
{"Name":"webabcd","Age":27}

作者:webabcd

[源码下载]

























If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759