zoukankan      html  css  js  c++  java
  • ASP.NET Ajax组件介绍

      ASP.NET Ajax组件主要有:ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer,逐一介绍如下:

      ScriptManager

      ScriptManager负责管理页面的所有脚本资源。它必须存在于WebForm中,且存在于其他Ajax控件之前,在ASP.NET Ajax程序中必须包括这个控件的引用。在ScriptManage控件中可以指定需要的脚本库、Web Service、身份验证服务、个性化设置、页面错误处理等。

    属性或事件名称

    作用和说明

    AllowCustomErrorsRedirect

    异步回传操作发生错误时,是否显示错误信息

    AsyncPostBackErrorMessage

    异步回传操作发生时的自定义错误信息

    AsyncPostBackTimeout

    异步回传时超时限制,默认值为90,单位为秒

    AuthenticationService

    客户端身份验证服务的相关引用

    EnablePageMethods

    本页面上的静态页面方法是否可以让客户端脚本直接调用,默认为false

    EnablePartialRendering

    是否支持页面的局部更新,默认值为True,一般不需要修改

    EnableScriptGlobalization

    ScriptManager绘制的脚本是否支持不同语种,默认为false

    EnableScriptLocalization

    ScriptManager绘制的脚本是否需要本地化,默认为false

    LoadScriptsBeforeUI

    是否需要在加载UI控件前首先加载脚本,默认为false

    ProfileService

    与之相关的用户个性化信息管理

    ScriptMode [1]

    指定ScriptManage发送到客户端脚本的模式。包括4种模式:AutoInheritDebugRelease。默认值为Auto

    ScriptPath

    设置所有的脚本块的根目录,包括自定义的脚本块和引用第三方的脚本块。如果在Scripts中的<asp:ScriptReference/>标签中设置了Path属性,它将覆盖该属性

    Scripts

    页面所有的脚本集合

    Services [2]

    页面相关的Web Service

    AsyncPostBackError

    异步回传发生异常时的服务端处理函数,在这里可以捕获异常信息并作相应的处理

    ResolveScriptReference

    指定ResolveScriptReference事件的服务器端处理函数,在该函数中可以修改某一条脚本的相关信息,如路径、版本等

    对上表的补充说明:

    *1、ScriptMode属性

    包括4种模式:AutoInheritDebugRelease的具体含义

      如果值为Auto,则根据WebConfig配置中retail配置节的值来决定脚本的模式。如果retail配置节的值为true,则把发布模式的脚本发送到客户端;反之则发送调试脚本。

      如果值为Inherit,同默认值Auto用法。

      如果值为Debug,若retail配置节的值不为true,则发送debug版本的客户端脚本。

      如果值为Release,若retail配置节的值不为false,则发送release版本的客户脚本。

    *2、Services属性

      Services用来管理页面对WebServices的调用。通过<asp:ServiceReference>标签可以在Services中注册一个WebService,在运行时,Scriptmanager将为每一个注册的WebService对象生成一个客户端代理,使得可以直接用脚本调用。<asp:ServiceReference>标签的一个重要属性Path,用来指定WebService的路径。

      ScriptManagerProxy

      它是ScriptManager控件在一定情况下的代理。在页面运行时,它和ScriptManager合二为一。在使用母版页的项目中,如果母版页中已经存在了ScriptManager,而内容页又需要使用它,这时候就只能给内容页添加ScriptManagerProxy控件。使用用户控件的情况与此相同。

      UpdatePanel

      UpdatePanel可以大大减少客户端脚本的编写工作量,在程序开发中,该控件和一个ScriptManager控件就可以方便地实现页面的局部刷新。

      UpdatePanel的属性、事件的相关说明

    属性或事件名称

    作用和解释

    ChildrenAsTriggers

    UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanel的更新

    RenderMode

    表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>Inline表示<span>

    Triggers [1]

    用来引起更新的事件

    UpdateMode

    表示UpdatePanel的更新模式,有两个选项:AlwaysConditionalAlways是不管有没有Trigger,其他控件都将更新该UpdatePanelConditional表示只有当前UpdatePanelTriggerChildrenAsTriggers属性为true时,当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法时间才会引发更新该UpdatePanel

    对控件的补充说明:

      *1、Triggers属性

      ASP.NET Ajax中有两种触发器:同步(PostBackTrigger)和异步(AsyncPostBackTrigger),使用同步触发器只需要指定某个服务器控件即可,但此控件会送时采用传统的"postback"机制,即整页会送;使用异步触发器则需要指定某个服务器控件的ID和该控件的某个服务器端事件。

      2、多个UpdatePanel的共存

      由于UpdatePanel的UpdateMode属性默认为always,所以如果页面上有一个局部刷新被触发,则所有的UpdatePanel都将更新。为了避免这种情况,需要将UpdateMode属性设置为Conditional,然后为每个UpdatePanel设置自己的触发器。

      3、多个UpdatePanel的嵌套

      当多个UpdatePanel并列存在时,更新一个UpdatePanel并不连带更新其他的UpdatePanel。但当其嵌套使用时,最外面的被触发更新,它里面的子UpdatePanel也随着更新;但里面的触发更新并不会更新最外层的。

      UpdateProgress

      UpdateProgress负责当页面异步更新数据时,显示给用户友好的提示信息。

      UpdateProgress的属性的相关说明

      

    属性或事件名称

    作用和解释

    AssociatedUpdatePanelID

    和该UpdateProgress相关联的UpdatePanelID,一般用于有多个UpdatePanel的情况下

    DisplayAfter

    进度信息被展示后的ms

    DynamicLayout

    UpdateProgress控件是否动态绘制,而不占用网页空间

     

      Timer

      Timer控件负责以固定时间间隔向服务器发送同步或者异步的请求。它经常和UpdatePanel控件结合起来以实现定时异步更新页面一部分的功能。

      Timer的属性、事件

    属性或事件名称

    作用和解释

    Enable

    是否启用tick事件

    Interval

    间隔时间,默认6外μs,即1min

    Tick

    指定间隔到期后执行

  • 相关阅读:
    GameBuilder见缝插针游戏开发系列(AA)
    Ant—使用Ant构建一个简单的Java工程(两)
    linux下一个C语言要求CPU采用
    Chart.js报告
    HDU5187 zhx&#39;s contest(计数问题)
    hdoj 5087 Revenge of LIS II 【第二长单调递增子】
    poj 2503 Babelfish
    python发送电子邮件
    [Angular2 Router] Using snapshot in Router
    [Angular2 Form] Use RxJS Streams with Angular 2 Forms
  • 原文地址:https://www.cnblogs.com/SFAN/p/2101442.html
Copyright © 2011-2022 走看看