ScriptManager 和 ScriptManagerProxy

 

ScriptManagerAtlas一个重要的控件,它用来处理页面上的所有Atlas组件以及局部页面的更新,生成相关的客户端脚本,所有需要支持AtlasASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,还可以指定页面错误处理等。 

ScriptManager 的属性

EnablePartialRender    是否开启页面局部更新功能,默认为 false

EnableScriptComponents 是否启用XML脚本模式,默认为 true

ID                    控件的ID

OnPageError            页面错误处理事件

runat                  运行在客户端还是服务器端,总是 runat = “server”

ScriptManager 下的子标签

1Scripts

 Scripts 还包括atlas:ScriptReference 标签, Atlas:ScriptReference 有如下属性

Path    自定义 JavaScript, JS 脚本的路径

ScriptName    指定标准库中的 JS 脚本,其中可以指定的有:AtlasUIDragDropAtlasUIGlitzAtlasUIMapAtlasWebParts

Browser   指定脚本使用的浏览器

2Services

 Services 还包括 atlas:ServicesReference 标签, Atlas:ServicesReference 有如下属性

Path   指定 Web Service (.asmx) 的路径

Type   指定 Web Service 的类型

GenerateProxy 是否生成客户端脚本的代理

 3ErrorTemplate

     默认的出错信息应该是Exception.Message, ScriptManager允许通过PageErrorEventArgs参数重新在OnPageError中自定义错误信息,也可以用ErrorTemplate来子定义错误信息的显示样式。ErrorTemplate 中必须包含如下元素

     Button 用来关闭错误信息

     Span Div 用来显示错误信息

 4ScriptManagerProxy

     对于需要支持Atlas的页面上有且只能有一个ScriptManager控件,如果遇到有master-page 的情况,在master-pagecontent-page中需要引入不同的脚本时,这就需要在content-page中使用ScriptManagerProxy,而不是ScriptManagerScriptManager ScriptManagerProxy 是两个非常相似的控件。例:

    master-page:

    <atlas:ScriptManager runat=”server” id=”manager1” ………… />

    content-page:

    <atlas:ScriptManagerProxy runat=”server” id=”Proxy1”>

      <Scripts>….</Scripts>

      <Services>…</Services>

    </atlas:ScriptManagerProxy>

    注:在我的理解中 content-page 就是类似 showmodaldialog() 弹出的对话框的页面

ScriptManager 和 ScriptManagerProxy 的应用都很简单

原文地址:https://www.cnblogs.com/goto/p/2705206.html