ASP.NET AJAX深入浅出系列课程(2):UpdatePanel的使用(上) 笔记 备忘
1、使用Framework所支持的方法注册脚本,
(1)RegisterArrayDeclaration 向页面输出数组的定义
(2)RegisterClientScriptBlock 输出脚本(紧跟这from)
(3)RegisterClientScriptInclude 添加脚本的引用
(4)RegisterClientScriptResource 从程序集中获取资源
(5)RegisterExpandoAttribute 为控件添加额外的属性
(6)RegisterHiddenField 添加隐藏控件
(7)RegisterOnSubmitStatement 可以添加一段语句,返回一个值,如为True则下次提交才会成功
(8)RegisterStartupScript 向页面输出脚本(紧跟着/from)
现在可以使用scriptmanage下面的方法替代
2、UpdatePanel 属性1:RenderMode 分为两个值:Block为用DIV包含内容,Inline为用span包含内容
3、UpdateMode属性:也分为两个值:Always所有的动作都刷新内容,Conditional仅内部活触发的控件刷新
4、ChildrenAsTriggers:是否发送异步请求,如设定false则不能再把UpdateMode设为Always会导致异常
5、Triggers设置触发updatepanel的控件
6、 ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(this.Button1);
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.Button2);
代码中设置触发
protected void Button1_Click(object sender, EventArgs e)
{
this.UpdatePanel1.Update();
}
7、UpdateProgress中可以设置AssociatedUpdatePanelID制定触发的updatepan,DisplayAfter设置延迟时间,DynamicLayout指定隐藏时是否占位
错误处理:服务端
8、ScriptManager中的AllowCustomErrorsRedirect属性:遇到错误是否根据web.Config中的设置跳转
9、AsyncPostBackError事件:异步刷新中出现错误时触发的事件。
2 {
3 ScriptManager.GetCurrent(this).AsyncPostBackErrorMessage = e.Exception.Message;
4 }
10、AsyncPostBackErrorMessage属性:客户端接收到的错误信息
客户端:
响应PageRequestManager的endRequest事件
将errorHandled属性设为true。
2 {
3 e.set_errorHandled(true);
4 $get("error").innerHTML = "Sorry, an error has occurred: " + e.get_error().message;
5 setTimeout(function(){ $get("error").innerHTML = ""; }, 3000);
6 });