大家好,又见面了,我是你们的朋友全栈君。
在页面中,必须使用 ScriptManager 控件来使下列 Microsoft ASP.NET AJAX 的特性可用:
- Microsoft AJAX 库的客户端脚本功能,以及任何要发送到浏览器的定制脚本。
- 部分页面输出,这使页面中的某个区域可以不依赖于回送就可以刷新。ASP.NET AJAX 的 UpdatePanel 、UpdateProgress 和 Timer 控件需要 ScriptManager 控件来支持局部输出。
- Web 服务的 Javascript 代理,这使客户端脚本可以访问由强类型的 Web 服务暴露出来的方法。
- Javascript 类访问 ASP.NET 认证和个性化应用服务。
1.1 使部分页面输出可用
ScriptManager 控件的 EnablePartialRendering 属性决定了页面是否可以进行局部更新。默认情况下,EnablePartialRendering 的值为 true,因此,在默认情况下添加了一个 ScriptManager 控件到页面中时,局部输出是可用的。
1.2 错误处理
- 设置 AllowCustomErrorsRedirect 属性,它决定了在异步回发期间发生错误时,如何使用 Web.config 文件的定制的错误节。
- 处理 ScriptManager 控件的 AsyncPostBackError 事件,它在异步回发期间出现页面错误时触发。
- 设置 AsyncPostBackErrorMessage 属性,这是发送到浏览器的错误信息。
1.3 使用类型系统扩展
1.4 注册定制脚本
ScriptManager 控件还提供了可以用来以编程的方式管理客户端脚本和隐藏字段的注册方法。在注册支持局部页面更新的脚本和隐藏字段时,必须调用 ScriptManager 的注册方法。(要注册不是局部页面更新所需要的脚本时,可以使用 ClientScriptManager 类。)
注意:
1.5 注册 Web 服务
可以在运行时用编程的方式添加 ServiceReference 对象到 Services 集合中,以注册 Web 服务。
1.6 在客户端脚本中使用认证和个性化服务
1.7 ScriptManagerProxy 类
2 添加 ScriptManager 控件
3 客户端脚本管理示例
3.1 添加程序集中内嵌的脚本
<Scripts>
<asp:ScriptReference Assembly=”Microsot.Web.Preview” Name=”PreviesScript.js” />
</Scripts>
</asp:ScriptManager>
3.2 添加单独的脚本文件
<Scripts>
<asp:ScriptReference Path=”~/ScriptPath/ScriptFile.js” />
</Scripts>
</asp:ScriptManager>
3.3 ScriptManager 的相关属性
ScriptPath :
LoadScriptsBeforeUI:
4 添加 Web 服务客户端代理
<Services>
<asp:ServiceReference Path=”MyServices.asmx” />
</Services>
</asp:ScriptManager>
另外,在 Web.config 中还需要加入下列配置项:
<httpHandlers>
<remove verb=”*” path=”*.asmx”/>
<add verb=”*” path=”*.asmx” validate=”false” type=”System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″/>
</httpHandlers>
</system.web>
这样,在客户端脚本中就可以直接调用 Web 服务的静态方法了。
5 处理异步回发中出现的异常
通常,在出现异常时,.NET 框架会重定向到一个黄色的异常页面上,但对于用异步回发的方式处理的页面来说,这会是一场灾难,无法恢复到原页面的当前状态。
可以设置 ScriptManager 控件的 AllowCustomErrorsRedirect = “false” 来阻止出现异常时的重定向,设置 AsyncPostBackErrorMessage 属性为出现异常时显示给用户的出错信息。这样,当操作出现异常时,ScriptManager 将自动弹出包含 AsyncPostBackErrorMessage 中设置的信息的浏览器消息框。
转载于:https://www.cnblogs.com/hdjjun/archive/2008/06/17/1223645.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158674.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...